--- /dev/null
+// -*- C++ -*-
+// $Id: aboutdlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+
+#include "aboutdlg.h"
+#include "appname.h"
+
+AboutDlg::AboutDlg(QWidget *parent, const QString &ver1,
+ const QString &ver2): QDialog(parent)
+{
+ ui.setupUi(this);
+ QTextDocument *doc = ui.textEdit->document();
+ ui.textEdit->setReadOnly(true);
+ QString tt = doc->toHtml();
+ tt.replace(QRegExp("\\$appname\\$"), QString(appName));
+ tt.replace(QRegExp("\\$babelversion\\$"), ver1);
+ tt.replace(QRegExp("\\$babelfeversion\\$"), ver2);
+ doc->setHtml(tt);
+ QTextCursor cur(doc);
+ cur.setPosition(0);
+ ui.textEdit->setTextCursor(cur);
+ ui.textEdit->ensureCursorVisible();
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: aboutdlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+
+#ifndef ABOUTDLG_H
+#define ABOUTDLG_H
+
+#include <QDialog>
+
+#include "ui_aboutui.h"
+
+class AboutDlg: public QDialog {
+ public:
+ AboutDlg(QWidget *parent, const QString &ver1,
+ const QString &ver2);
+
+ private:
+ Ui_AboutDlg ui;
+
+};
+
+#endif
--- /dev/null
+<ui version="4.0" >
+ <class>AboutDlg</class>
+ <widget class="QDialog" name="AboutDlg" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>516</width>
+ <height>202</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>About GPSBabel</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="pixmap" >
+ <pixmap resource="app.qrc" >:/images/appicon.png</pixmap>
+ </property>
+ <property name="scaledContents" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit" >
+ <property name="readOnly" >
+ <bool>true</bool>
+ </property>
+ <property name="html" >
+ <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">$appname$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;"><span style=" font-size:9pt; font-weight:400;">$babelfeversion$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009 S. Khai Mong</p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LGPL Crystal Icons by Alvarado Coehlo</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(Using backend $babelversion$)</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="app.qrc" />
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>AboutDlg</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>AboutDlg</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- /dev/null
+// -*- C++ -*-
+// $Id: advdlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+#include <QMessageBox>
+#include <QProcess>
+#include <QFileDialog>
+#include <QSettings>
+#include "advdlg.h"
+
+//------------------------------------------------------------------------
+AdvDlg::AdvDlg(QWidget* parent,
+ bool &synthShortNames,
+ bool &forceGPSTypes,
+ bool &enableCharSetXform,
+ bool &previewGmap,
+ int &debugLevel):
+ QDialog(parent),
+ synthShortNames(synthShortNames),
+ forceGPSTypes(forceGPSTypes),
+ enableCharSetXform(enableCharSetXform),
+ previewGmap(previewGmap),
+ debugLevel(debugLevel)
+{
+ ui.setupUi(this);
+ ui.synthShortNames->setChecked(synthShortNames);
+ ui.forceGPSTypes->setChecked(forceGPSTypes);
+ ui.enableCharSetXform->setChecked(enableCharSetXform);
+ ui.previewGmap->setChecked(previewGmap);
+ ui.debugCombo->setCurrentIndex(debugLevel+1);
+ ui.buttonBox->button(QDialogButtonBox::Ok)->setIcon(QIcon(":images/ok"));
+ ui.buttonBox->button(QDialogButtonBox::Cancel)->setIcon(QIcon(":images/cancel"));
+ connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(acceptClicked()));
+ connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(rejectClicked()));
+}
+
+void AdvDlg::acceptClicked()
+{
+ synthShortNames = ui.synthShortNames->isChecked();
+ forceGPSTypes = ui.forceGPSTypes->isChecked();
+ enableCharSetXform = ui.enableCharSetXform->isChecked();
+ previewGmap = ui.previewGmap->isChecked();
+ debugLevel = ui.debugCombo->currentIndex()-1;
+ accept();
+}
+
+void AdvDlg::rejectClicked()
+{
+ reject();
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: advdlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+#ifndef ADVDLG_H
+#define ADVDLG_H
+
+#include "ui_advui.h"
+
+class AdvDlg: public QDialog {
+ Q_OBJECT
+
+public:
+ AdvDlg(QWidget* parent,
+ bool &synthShortNames,
+ bool &forceGPSTypes,
+ bool &enableCharSetXform,
+ bool &previewGmap,
+ int &debugLevel);
+ QPushButton* formatButton() { return ui.formatButton; };
+
+private:
+ Ui_AdvUi ui;
+ bool &synthShortNames;
+ bool &forceGPSTypes;
+ bool &enableCharSetXform;
+ bool &previewGmap;
+ int &debugLevel;
+
+ protected:
+
+ private slots:
+ void acceptClicked();
+ void rejectClicked();
+};
+
+
+#endif
--- /dev/null
+<ui version="4.0" >
+ <class>AdvUi</class>
+ <widget class="QDialog" name="AdvUi" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>347</width>
+ <height>215</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Global Options</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QCheckBox" name="synthShortNames" >
+ <property name="toolTip" >
+ <string>Create smart shortened names. </string>
+ </property>
+ <property name="text" >
+ <string>Synthesize short names</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="forceGPSTypes" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="text" >
+ <string>Force Selected GPS data types (nuketypes filter)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="enableCharSetXform" >
+ <property name="enabled" >
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" >
+ <string>Convert character set encoding between input and output</string>
+ </property>
+ <property name="text" >
+ <string>Enable character set transformation</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="previewGmap" >
+ <property name="text" >
+ <string>Preview in Google Maps</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QComboBox" name="debugCombo" >
+ <property name="toolTip" >
+ <string>Debugging diagnostics.
+Higher number provides more deitaled diagnostics.</string>
+ </property>
+ <item>
+ <property name="text" >
+ <string>None</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>9</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Debugging Diagnostics</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
+ <item>
+ <widget class="QPushButton" name="formatButton" >
+ <property name="toolTip" >
+ <string>Set all format input/output options to default values</string>
+ </property>
+ <property name="text" >
+ <string>Default Format Options</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+# $Id: app.pro,v 1.1 2009/07/05 21:14:56 robertl Exp $
+#
+
+#CONFIG += qt debug console
+CONFIG += qt release
+
+QT += network \
+ xml \
+ webkit
+
+unix:DESTDIR = objects
+unix:MOC_DIR = objects
+unix:OBJECTS_DIR = objects
+unix:RCC_DIR = objects
+
+win32:LIBS += SHELL32.LIB
+
+UI_DIR = tmp
+
+RESOURCES = app.qrc
+RC_FILE = app.rc
+
+win32:TARGET=gpsbabelfe
+unix:TARGET=gpsbabelfe-bin
+
+extras.commands = (make -f makeextras.mak)
+extras.target = extras
+QMAKE_EXTRA_TARGETS += extras
+#POST_TARGETDEPS=extras
+
+FORMS += mainui.ui
+FORMS += advui.ui
+FORMS += aboutui.ui
+FORMS += trackui.ui
+FORMS += filterui.ui
+FORMS += wayptsui.ui
+FORMS += rttrkui.ui
+FORMS += miscfltui.ui
+FORMS += gmapui.ui
+
+SOURCES += advdlg.cpp
+SOURCES += dpencode.cpp
+SOURCES += map.cpp
+SOURCES += latlng.cpp
+SOURCES += gpx.cpp
+SOURCES += gmapdlg.cpp
+SOURCES += aboutdlg.cpp
+SOURCES += main.cpp
+SOURCES += help.cpp
+SOURCES += maindlg.cpp
+SOURCES += persistdlg.cpp
+SOURCES += format.cpp
+SOURCES += filterdata.cpp
+SOURCES += formatload.cpp
+SOURCES += optionsdlg.cpp
+SOURCES += processwait.cpp
+SOURCES += filterwidgets.cpp
+SOURCES += filterdlg.cpp
+
+
+HEADERS += maindlg.h
+HEADERS += map.h
+HEADERS += gmapdlg.h
+HEADERS += gpx.h
+HEADERS += babeldata.h
+HEADERS += filterdlg.h
+HEADERS += appname.h
+HEADERS += advdlg.h
+HEADERS += aboutdlg.h
+HEADERS += help.h
+HEADERS += format.h
+HEADERS += formatload.h
+HEADERS += optionsdlg.h
+HEADERS += persistdlg.h
+HEADERS += processwait.h
+HEADERS += filterwidgets.h
+HEADERS += filterdata.h
+HEADERS += setting.h
+
+TRANSLATIONS += gpsbabelfe_de.ts
+TRANSLATIONS += gpsbabelfe_es.ts
+TRANSLATIONS += gpsbabelfe_fr.ts
+TRANSLATIONS += gpsbabelfe_hu.ts
+TRANSLATIONS += gpsbabelfe_it.ts
+
+
+
+
--- /dev/null
+ <!DOCTYPE RCC><RCC version="1.0">
+ <qresource>
+ <file>images/00.png</file>
+ <file>images/01.png</file>
+ <file>images/10.png</file>
+ <file>images/11.png</file>
+ <file>images/open.png</file>
+ <file>images/save.png</file>
+ <file>images/runit.png</file>
+ <file>images/exit.png</file>
+ <file>images/help.png</file>
+ <file>images/babel2.png</file>
+ <file>images/ok20.png</file>
+ <file>images/ok.png</file>
+ <file>images/cancel.png</file>
+ <file>images/reload.png</file>
+ <file>images/appicon.png</file>
+ </qresource>
+ </RCC>
+
--- /dev/null
+IDI_ICON1 ICON DISCARDABLE "images/appicon.ico"\r
--- /dev/null
+// $Id: appname.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+#ifndef APPNAME_H
+#define APPNAME_H
+static const char *appName = "GPSBabelFE";
+#endif
+
--- /dev/null
+// -*- C++ -*-
+// $Id: babeldata.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef BABELDATA_H
+#define BABELDATA_H
+
+#include <QSettings>
+#include <QStringList>
+#include "setting.h"
+
+
+class BabelData {
+public:
+ BabelData():
+ inputType(fileType),
+ inputFileFormat(QString()),
+ inputDeviceFormat(QString()),
+ inputFileNames(QStringList()),
+ inputDeviceName(QString()),
+ inputCharSet(QString()),
+ xlateWayPts(true),
+ xlateRoutes(true),
+ xlateTracks(true),
+ outputType(fileType),
+ outputFileFormat(QString()),
+ outputDeviceFormat(QString()),
+ outputFileName(QString()),
+ outputDeviceName(QString()),
+ outputCharSet(QString()),
+ synthShortNames(false),
+ forceGPSTypes(false),
+ enableCharSetXform(false),
+ debugLevel(-1),
+ inputBrowse(QString()),
+ outputBrowse(QString()),
+ previewGmap(false)
+ {
+ };
+
+ void saveSettings(QSettings &st) {
+ SettingGroup sg;
+ makeSettingGroup(sg);
+ sg.saveSettings(st);
+ }
+ void restoreSettings(QSettings &st) {
+ SettingGroup sg;
+ makeSettingGroup(sg);
+ sg.restoreSettings(st);
+ }
+
+ void makeSettingGroup(SettingGroup &sg) {
+ sg.addVarSetting(new IntSetting("app.inputType", inputType));
+ sg.addVarSetting(new StringSetting("app.inputFileFormat", inputFileFormat));
+ sg.addVarSetting(new StringSetting("app.inputDeviceFormat", inputDeviceFormat));
+ sg.addVarSetting(new StringSetting("app.inputCharSet", inputCharSet));
+ sg.addVarSetting(new StringSetting("app.inputDeviceName", inputDeviceName));
+
+ sg.addVarSetting(new BoolSetting("app.xlateWayPts", xlateWayPts));
+ sg.addVarSetting(new BoolSetting("app.xlateRoutes", xlateRoutes));
+ sg.addVarSetting(new BoolSetting("app.xlateTracks", xlateTracks));
+
+ sg.addVarSetting(new IntSetting("app.outputType", outputType));
+ sg.addVarSetting(new StringSetting("app.outputFileFormat", outputFileFormat));
+ sg.addVarSetting(new StringSetting("app.outputDeviceFormat", outputDeviceFormat));
+ sg.addVarSetting(new StringSetting("app.outputCharSet", outputCharSet));
+ sg.addVarSetting(new StringSetting("app.outputDeviceName", outputDeviceName));
+
+ sg.addVarSetting(new BoolSetting("app.synthShortNames", synthShortNames));
+ sg.addVarSetting(new BoolSetting("app.forceGPSTypes", forceGPSTypes));
+ sg.addVarSetting(new BoolSetting("app.enableCharSetXform", enableCharSetXform));
+
+ sg.addVarSetting(new StringSetting("app.inputBrowse", inputBrowse));
+ sg.addVarSetting(new StringSetting("app.outputBrowse", outputBrowse));
+
+ sg.addVarSetting(new BoolSetting("app.previewGmap", previewGmap));
+ }
+
+ static const int noType;
+ static const int fileType;
+ static const int deviceType;
+
+ int inputType;
+ QString inputFileFormat;
+ QString inputDeviceFormat;
+ QStringList inputFileNames;
+ QString inputDeviceName;
+ QString inputCharSet;
+
+ bool xlateWayPts;
+ bool xlateRoutes;
+ bool xlateTracks;
+
+ int outputType;
+ QString outputFileFormat;
+ QString outputDeviceFormat;
+ QString outputFileName;
+ QString outputDeviceName;
+ QString outputCharSet;
+
+ bool synthShortNames;
+ bool forceGPSTypes;
+ bool enableCharSetXform;
+ int debugLevel;
+
+ QString inputBrowse, outputBrowse;
+
+ bool previewGmap;
+
+};
+
+#endif
--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+open(FF, "gpsbabel -^3|");
+while (<FF>) {
+ if (/^file/ || /^serial/) {
+ my @x = split(/\t/, $_);
+ my $out = $x[4];
+ $out =~ s/"/\\"/g;
+ print "QT_TR_NOOP(\"$out\"),\n";
+ }
+
+ if (/^option/) {
+ my @x = split(/\t/, $_);
+ my $out = $x[3];
+ $out =~ s/"/\\"/g;
+ print "QT_TR_NOOP(\"$out\"),\n";
+ }
+}
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Google Maps JavaScript</title>
+ <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAN6d3-kz3XqyJq-W9n7IYzhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxT_28W9HdpKXQF8sGkCU0sQpcudOQ"
+ type="text/javascript"></script>
+ <script type="text/javascript">
+
+ //<![CDATA[
+
+ function load() {
+ if (GBrowserIsCompatible()) {
+ var map = new GMap2(document.getElementById("map"));
+ map.setCenter( new GLatLng(0,0),2 );
+ map.enableContinuousZoom();
+ map.disableDragging();
+ }
+ }
+
+ //]]>
+ </script>
+ </head>
+
+ <body style="height:100%" onload="load()" onunload="GUnload()" topmargin="0" leftmargin="0">
+ <div id="map" style="width:100% ; height:100%"></div>
+ </body>
+</html>
--- /dev/null
+// -*- C++ -*-
+// $Id: dpencode.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Original in JavaScript:
+// PolylineEncoder.js copyright Mark McClure April/May 2007
+//
+// Translated to C++
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#include <stack>
+#include <math.h>
+#include "dpencode.h"
+
+using std::vector;
+using std::stack;
+using std::string;
+
+
+
+//------------------------------------------------------------------------
+PolylineEncoder::PolylineEncoder(int numLevels, double zoomFactor, double vs):
+ numLevels(numLevels), zoomFactor(zoomFactor), verySmall(vs)
+{
+ if (verySmall <=0.0)
+ verySmall = 1.0E-5;
+ for(int i = 0; i < numLevels; i++)
+ zoomLevelBreaks.push_back(verySmall*pow(zoomFactor, numLevels-i-1));
+}
+
+//------------------------------------------------------------------------
+class IntervalPair
+{
+public:
+ IntervalPair(int i0, int i1): i0(i0), i1(i1) {
+ }
+ int i0, i1;
+};
+
+//------------------------------------------------------------------------
+static double hypotenuse(double a, double b){
+ return sqrt(a*a + b*b);
+}
+//------------------------------------------------------------------------
+static double hdist(const LatLng &a, const LatLng &b) {
+ return hypotenuse(a.lat()-b.lat(), a.lng()-b.lng());
+}
+
+//------------------------------------------------------------------------
+static string encodeNumber(int num)
+{
+ string encodeString = "";
+ while (num >= 0x20) {
+ encodeString += char((0x20 | (num & 0x1f)) + 63);
+ num = num >> 5;
+ }
+ encodeString += char(num + 63);
+ return encodeString;
+}
+
+//------------------------------------------------------------------------
+// This one is Google's verbatim.
+static string encodeSignedNumber (int num)
+{
+ int sgn_num = num << 1;
+ if (num < 0) {
+ sgn_num = ~(sgn_num);
+ }
+ return(encodeNumber(sgn_num));
+}
+
+//------------------------------------------------------------------------
+int roundToInt(double x) {
+ return (x>0.0) ? int(x+0.5) : int(x-0.5);
+}
+//------------------------------------------------------------------------
+void PolylineEncoder::createEncodings(string &encoded_points,
+ const vector <LatLng> &points,
+ const vector <double> dists)
+{
+ encoded_points = "";;
+ int plat = 0;
+ int plng = 0;
+ for(unsigned int i = 0; i < points.size(); i++) {
+ if(dists[i] >= 0.0 || i == 0 || i == points.size()-1) {
+ int late5 = roundToInt(points[i].lat() * 1e5);
+ int lnge5 = roundToInt(points[i].lng() * 1e5);
+ int dlat = late5 - plat;
+ int dlng = lnge5 - plng;
+ encoded_points += encodeSignedNumber(dlat) + encodeSignedNumber(dlng);
+ plat = late5;
+ plng = lnge5;
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+// This computes the appropriate zoom level of a point in terms of it's
+// distance from the relevant segment in the DP algorithm. Could be done
+// in terms of a logarithm, but this approach makes it a bit easier to
+// ensure that the level is not too large.
+int PolylineEncoder::computeLevel(double dd)
+{
+ int lev = 0;
+ if(dd > verySmall) {
+ while(dd < zoomLevelBreaks[lev]) {
+ lev++;
+ }
+ }
+ return lev;
+}
+//------------------------------------------------------------------------
+// Now we can use the previous function to march down the list
+// of points and encode the levels. Like createEncodings, we
+// ignore points whose distance (in dists) is undefined.
+void PolylineEncoder::encodeLevels(string &encoded_levels, const vector<LatLng> &points, const vector<double>&dists)
+{
+ encoded_levels = "";
+ encoded_levels += encodeNumber(numLevels-1);
+ for (unsigned int i=1; i<points.size()-1; i++) {
+ if(dists[i] >= 0.0) {
+ encoded_levels += encodeNumber(numLevels-computeLevel(dists[i])-1);
+ }
+ }
+ encoded_levels += encodeNumber(numLevels-1);
+}
+
+
+//------------------------------------------------------------------------
+double PolylineEncoder::distance(const LatLng &p0, const LatLng &p1, const LatLng &p2)
+{
+ double out = 0.0;
+ if (p1.lat() == p2.lat() && p1.lng() == p2.lng()) {
+ out = hdist(p2, p0);
+ }
+ else {
+ double dlat = (p2.lat()-p1.lat());
+ double dlng = (p2.lng()-p1.lng());
+ double u = ((p0.lat()-p1.lat())*dlat+(p0.lng()-p1.lng())*dlng)/(dlat*dlat + dlng*dlng);
+
+ if (u <= 0) {
+ out = hdist(p0, p1);
+ }
+ else if(u >= 1) {
+ out = hdist(p0, p2);
+ }
+ else {
+ out = hdist(p0, LatLng(p1.lat() + u*dlat, p1.lng() + u*dlng));
+ }
+ }
+ return out;
+}
+
+//------------------------------------------------------------------------
+void PolylineEncoder::dpEncode(string &encPts, string &encLevels, const vector<LatLng> &points)
+{
+ if (points.size() < 2) {
+ encPts = encLevels = ""; // no solution here.
+ return;
+
+ }
+ stack <IntervalPair> stk;
+ vector <double> dists(points.size(), -1.0);
+
+ stk.push(IntervalPair(0, int(points.size())-1));
+ while (!stk.empty()) {
+
+ IntervalPair current = stk.top();
+ stk.pop();
+
+ double maxDist = -1.0;
+ int maxLoc = -1;
+ for (int i=current.i0+1; i<current.i1; i++) {
+ double dist = this->distance(points[i], points[current.i0], points[current.i1]);
+ if(dist > maxDist) {
+ maxDist = dist;
+ maxLoc = i;
+ }
+ }
+ if(maxDist > this->verySmall) {
+ dists[maxLoc] = maxDist;
+ stk.push(IntervalPair(current.i0, maxLoc));
+ stk.push(IntervalPair(maxLoc, current.i1));
+ }
+ }
+ createEncodings(encPts, points, dists);
+ encodeLevels(encLevels, points, dists);
+}
+
+
+
+
+
+
--- /dev/null
+// -*- C++ -*-
+// $Id: dpencode.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef DPENCODE_H
+#define DPENCODE_H
+
+#include <vector>
+#include <string>
+#include "latlng.h"
+using std::vector;
+using std::string;
+
+
+class PolylineEncoder {
+public:
+ PolylineEncoder(int numLevels=19, double zoomFactor=2.0, double verySmall = 0.00001);
+ void dpEncode(string &encPts, string &encLevels, const vector<LatLng> &points);
+
+private:
+
+ int computeLevel(double dd);
+ double distance(const LatLng &, const LatLng &, const LatLng &);
+ void encodeLevels(string &, const vector<LatLng> &points, const vector<double>&dists);
+ void createEncodings(string &encoded_points,
+ const vector <LatLng> &points,
+ const vector <double> dists);
+
+ int numLevels;
+ double zoomFactor;
+ double verySmall;
+ vector <double> zoomLevelBreaks;
+};
+
+#endif
--- /dev/null
+
+export QTDIR=~/qt4/qt-x11-opensource-src-4.4.3
+
+PATH=$QTDIR/bin:$PATH
+LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
+export QT_INSTALL_HEADERS=$QTDIR/include
+export QMAKESPEC=$QTDIR/mkspecs/linux-g++
+
+
+
--- /dev/null
+// -*- C++ -*-
+// $Id: filterdata.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#include "filterdata.h"
+
+QStringList WayPtsFilterData::makeOptionString()
+{
+ QStringList args;
+ if (!inUse)
+ return args;
+
+ if (radius) {
+ args << QString("-x");
+ args << QString("radius,distance=%1%2,lat=%3,lon=%4")
+ .arg(radiusVal).arg("MK"[radiusUnit]).arg(latVal, 0, 'f', 8).arg(longVal, 0, 'f', 8);
+ }
+ if (duplicates && (shortNames ^ locations)) {
+ args << QString("-x");
+ QString s = "duplicate";
+ if (shortNames)
+ s += ",shortname";
+ if (locations)
+ s += ",location";
+ args << s;
+ }
+
+ if (position) {
+ args << QString("-x");
+ args << QString("position,distance=%1%2").arg(positionVal).arg("FM"[positionUnit]);
+ }
+ return args;
+}
+
+//------------------------------------------------------------------------
+static QString optionDate(const QDateTime &dt, bool useLocal)
+{
+ QDateTime d;
+ if (useLocal) {
+ d = dt.toLocalTime();
+ }
+ else {
+ d = dt.toUTC();
+ }
+
+ QDate date = d.date();
+ QTime time = d.time();
+ QString s = QString("%1%2%3%4%5%6")
+ .arg(date.year(), 4, 10, QChar('0'))
+ .arg(date.month(), 2, 10, QChar('0'))
+ .arg(date.day(), 2, 10, QChar('0'))
+ .arg(time.hour(), 2, 10, QChar('0'))
+ .arg(time.minute(), 2, 10, QChar('0'))
+ .arg(time.second(), 2, 10, QChar('0'));
+ return s;
+}
+
+//------------------------------------------------------------------------
+QStringList TrackFilterData::makeOptionString()
+{
+ static const char *fixStrings[] = {"none", "pps", "dgpss", "3d", "2d"}; // match with designer!
+ QStringList args;
+ if (!inUse)
+ return args;
+
+ QString s;
+ if (GPSFixes) s += QString(",fix=%1").arg(fixStrings[GPSFixesVal]);
+ if (course) s += ",course";
+ if (speed) s += ",speed";
+ if (pack) s += ",pack";
+ if (merge) s += ",merge";
+ if (split && (pack || merge)) s += ",split";
+ if (start) s += QString(",start=%1").arg(optionDate(startTime, TZ));
+ if (stop) s += QString(",stop=%1").arg(optionDate(stopTime, TZ));
+ if (move) s += QString(",move=%1d%2h%3m%4s").arg(days).arg(hours).arg(mins).arg(secs);
+ if (title) s += QString(",title=%1").arg(titleString);
+
+ if (s.length())
+ args << "-x" << "track" + s;
+
+ return args;
+}
+
+//------------------------------------------------------------------------
+QStringList RtTrkFilterData::makeOptionString()
+{
+ QStringList args;
+ if (!inUse)
+ return args;
+
+ if (reverse) args << QString("-x") << QString("reverse");
+ if (simplify) args << QString("-x") << QString("simplify,count=%1").arg(limitTo);
+
+ return args;
+}
+
+//------------------------------------------------------------------------
+QStringList MiscFltFilterData::makeOptionString()
+{
+ QStringList args;
+ if (!inUse)
+ return args;
+
+ if (swap) args << "-x" << "swap";
+
+ if (transform) {
+ static const char *xformStr[] = {
+ "wpt=trk",
+ "trk=rte",
+ "rte=wpt",
+ "wpt=rte",
+ "rte=trk",
+ "trk=wpt",
+ };
+ args << QString("-x");
+ QString s= QString("transform,%1").arg(xformStr[transformVal]);
+ if (del) s += ",del";
+ args << s;
+ }
+ return args;
+}
+
+
--- /dev/null
+// -*- C++ -*-
+// $Id: filterdata.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef FILTERDATA_H
+#define FILTERDATA_H
+
+#include <QDateTime>
+#include <QSettings>
+#include <QStringList>
+#include "setting.h"
+
+//------------------------------------------------------------------------
+
+class FilterData {
+public:
+ FilterData(): inUse(true) {};
+
+ void saveSettings(QSettings &st) {
+ SettingGroup sg;
+ makeSettingGroup(sg);
+ sg.saveSettings(st);
+ }
+ void restoreSettings(QSettings &st) {
+ SettingGroup sg;
+ makeSettingGroup(sg);
+ sg.restoreSettings(st);
+ }
+ virtual void makeSettingGroup(SettingGroup &sg) = 0;
+ virtual QStringList makeOptionString() = 0;
+
+public:
+ bool inUse;
+};
+//------------------------------------------------------------------------
+
+class TrackFilterData: public FilterData {
+ public:
+ TrackFilterData(): FilterData(), title(false), titleString(QString()),
+ move(false), days(0), hours(0), mins(0), secs(0),
+ TZ(false),
+ start(false),
+ stop(false),
+ pack(false), merge(false), split(false),
+ GPSFixes(false), GPSFixesVal(0),
+ course(false), speed(false)
+ {
+ titleString = "ACTIVE LOG #%Y%m%d";
+ stopTime = QDateTime::currentDateTime();
+ stopTime.setTime(QTime(23, 59, 59));
+ startTime = stopTime.addMonths(-6);
+ startTime.setTime(QTime(0, 0, 1));
+ }
+ virtual void makeSettingGroup(SettingGroup &sg)
+ {
+ sg.addVarSetting(new BoolSetting("trks.inUse", inUse));
+ sg.addVarSetting(new BoolSetting("trks.GPSFixes", GPSFixes));
+ sg.addVarSetting(new IntSetting("trks.GPSFixesVal", GPSFixesVal));
+ sg.addVarSetting(new BoolSetting("trks.course", course));
+ sg.addVarSetting(new BoolSetting("trks.speed", speed));
+ sg.addVarSetting(new BoolSetting("trks.pack", pack));
+ sg.addVarSetting(new BoolSetting("trks.merge", merge));
+ sg.addVarSetting(new BoolSetting("trks.split", split));
+ sg.addVarSetting(new BoolSetting("trks.start", start));
+ sg.addVarSetting(new DateTimeSetting("trks.startTime", startTime));
+ sg.addVarSetting(new BoolSetting("trks.stop", stop));
+ sg.addVarSetting(new DateTimeSetting("trks.stopTime", stopTime));
+ sg.addVarSetting(new BoolSetting("trks.TZ", TZ));
+ sg.addVarSetting(new BoolSetting("trks.move", move));
+ sg.addVarSetting(new IntSetting("trks.days", days));
+ sg.addVarSetting(new IntSetting("trks.mins", mins));
+ sg.addVarSetting(new IntSetting("trks.hours", hours));
+ sg.addVarSetting(new IntSetting("trks.secs", secs));
+ sg.addVarSetting(new BoolSetting("trks.title", title));
+ sg.addVarSetting(new StringSetting("trks.titleString", titleString));
+ }
+ virtual QStringList makeOptionString();
+
+ public:
+ bool title;
+ QString titleString;
+ bool move;
+ int days, hours, mins, secs;
+ bool TZ;
+
+ bool start;
+ QDateTime startTime;
+ bool stop;
+ QDateTime stopTime;
+ bool pack, merge, split, GPSFixes;
+ int GPSFixesVal;
+ bool course, speed;
+};
+
+//------------------------------------------------------------------------
+
+class WayPtsFilterData: public FilterData {
+ public:
+ WayPtsFilterData(): FilterData(),
+ duplicates(false), shortNames(true), locations(false),
+ position(false), radius(false), sort(false),
+ positionVal(0.0), radiusVal(0.0),
+ longVal(0.0), latVal(0.0),
+ positionUnit(0), radiusUnit(0)
+ {
+ }
+
+ virtual QStringList makeOptionString();
+ virtual void makeSettingGroup(SettingGroup &sg)
+ {
+ sg.addVarSetting(new BoolSetting("wpts.inUse", inUse));
+ sg.addVarSetting(new BoolSetting("wpts.radius", radius));
+ sg.addVarSetting(new DoubleSetting("wpts.radiusVal", radiusVal));
+ sg.addVarSetting(new IntSetting("wpts.radiusUnit", radiusUnit));
+ sg.addVarSetting(new DoubleSetting("wpts.latVal", latVal));
+ sg.addVarSetting(new DoubleSetting("wpts.longVal", longVal));
+ sg.addVarSetting(new BoolSetting("wpts.duplicates", duplicates));
+ sg.addVarSetting(new BoolSetting("wpts.shortNames", shortNames));
+ sg.addVarSetting(new BoolSetting("wpts.locations", locations));
+ sg.addVarSetting(new BoolSetting("wpts.position", position));
+ sg.addVarSetting(new DoubleSetting("wpts.positionVal", positionVal));
+ sg.addVarSetting(new IntSetting("wpts.positionUnit", positionUnit));
+ sg.addVarSetting(new BoolSetting("wpts.sort", sort));
+ }
+
+
+ public:
+ bool duplicates, shortNames, locations, position, radius, sort;
+ double positionVal;
+ double radiusVal;
+ double longVal, latVal;
+ int positionUnit, radiusUnit;
+};
+
+//------------------------------------------------------------------------
+class RtTrkFilterData: public FilterData {
+ public:
+ RtTrkFilterData(): FilterData(),
+ simplify(false),
+ reverse(false),
+ limitTo(100)
+ {
+ }
+
+ virtual QStringList makeOptionString();
+ virtual void makeSettingGroup(SettingGroup &sg) {
+ sg.addVarSetting(new BoolSetting("rttrk.inUse", inUse));
+ sg.addVarSetting(new BoolSetting("rttrk.reverse", reverse));
+ sg.addVarSetting(new BoolSetting("rttrk.simplify", simplify));
+ sg.addVarSetting(new IntSetting("rttrk.limitTo", limitTo));
+ }
+
+ public:
+ bool simplify, reverse;
+ int limitTo;
+};
+
+//------------------------------------------------------------------------
+class MiscFltFilterData: public FilterData {
+ public:
+ MiscFltFilterData(): FilterData(),
+ transform(false),
+ del(false),
+ swap(false),
+ transformVal(0)
+ {
+ }
+
+ virtual QStringList makeOptionString();
+ virtual void makeSettingGroup(SettingGroup &sg)
+ {
+ sg.addVarSetting(new BoolSetting("mscflt.inUse", inUse));
+ sg.addVarSetting(new BoolSetting("mscflt.transform", transform));
+ sg.addVarSetting(new IntSetting("mscflt.transformVal", transformVal));
+ sg.addVarSetting(new BoolSetting("mscflt.delete", del));
+ sg.addVarSetting(new BoolSetting("mscflt.swap", swap));
+ }
+
+ public:
+ bool transform, del, swap;
+ int transformVal;
+};
+
+
+//------------------------------------------------------------------------
+//
+class AllFiltersData
+{
+ public:
+ AllFiltersData()
+ {
+ defaultAll();
+ filters << &miscFltFilterData;
+ filters << &trackFilterData;
+ filters << &wayPtsFilterData;
+ filters << &rtTrkFilterData;
+ }
+
+ void defaultAll() {
+ miscFltFilterData = MiscFltFilterData();
+ trackFilterData = TrackFilterData();
+ wayPtsFilterData = WayPtsFilterData();
+ rtTrkFilterData = RtTrkFilterData();
+ }
+
+ QStringList getAllFilterStrings() {
+ QStringList args;
+ for (int i=0; i<filters.size(); i++)
+ args << filters[i]->makeOptionString();
+ return args;
+ }
+
+ TrackFilterData trackFilterData;
+ WayPtsFilterData wayPtsFilterData;
+ RtTrkFilterData rtTrkFilterData;
+ MiscFltFilterData miscFltFilterData;
+ QList<FilterData *>filters;
+};
+
+
+#endif
--- /dev/null
+// -*- C++ -*-
+// $Id: filterdlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#include <QMessageBox>
+#include "filterdlg.h"
+#include "help.h"
+#include "appname.h"
+
+int FilterDialog::lastPage = 0;
+
+FilterDialog::FilterDialog(QWidget*parent, AllFiltersData &fd): QDialog(parent), fd(fd)
+{
+ ui.setupUi(this);
+ ui.filterList->clear();
+
+ widgetStack = new QStackedWidget(ui.frame);
+ QHBoxLayout *layout = new QHBoxLayout(ui.frame);
+ layout->addWidget(widgetStack);
+ layout->setContentsMargins(2, 2, 2, 2);
+
+ addFilterPage(tr("Tracks"),
+ new TrackWidget(widgetStack, fd.trackFilterData), &fd.trackFilterData.inUse);
+
+ addFilterPage(tr("Waypoints"),
+ new WayPtsWidget(widgetStack, fd.wayPtsFilterData), &fd.wayPtsFilterData.inUse);
+
+ addFilterPage(tr("Routes & Tracks"),
+ new RtTrkWidget(widgetStack, fd.rtTrkFilterData), &fd.rtTrkFilterData.inUse);
+
+ addFilterPage(tr("Miscellaneous"),
+ new MiscFltWidget(widgetStack, fd.miscFltFilterData), &fd.miscFltFilterData.inUse);
+
+ connect(ui.filterList, SIGNAL(currentRowChanged(int)),
+ this, SLOT(pageSelectionChanged(int)));
+
+ connect(ui.filterList, SIGNAL(itemClicked(QListWidgetItem *)),
+ this, SLOT(itemClickedX(QListWidgetItem*)));
+
+ connect(ui.helpButton, SIGNAL(clicked()), this, SLOT(helpX()));
+ connect(ui.resetButton, SIGNAL(clicked()), this, SLOT(resetX()));
+
+
+ ui.buttonBox->button(QDialogButtonBox::Ok)->setIcon(QIcon(":images/ok"));
+ ui.buttonBox->button(QDialogButtonBox::Cancel)->setIcon(QIcon(":images/cancel"));
+
+ ui.filterList->setCurrentRow(lastPage);
+
+ // So that it occupies minimum space.
+ this->resize(100, 100);
+}
+
+
+//------------------------------------------------------------------------
+void FilterDialog::addFilterPage(const QString &name, FilterWidget *fw, bool*use)
+{
+ QListWidgetItem *it = new QListWidgetItem(name);
+ it->setCheckState(*use? Qt::Checked:Qt::Unchecked);
+ fw->setEnabled(*use);
+ ui.filterList->addItem(it);
+ widgetStack->addWidget(fw);
+ pages << fw;
+ usePages << use;
+}
+
+//------------------------------------------------------------------------
+void FilterDialog::itemClickedX(QListWidgetItem *it)
+{
+ int row = ui.filterList->row(it);
+ bool b = (it->checkState() == Qt::Checked);
+ pages[row]->setEnabled(b);
+ pages[row]->checkChecks();
+}
+//------------------------------------------------------------------------
+void FilterDialog::pageSelectionChanged(int i)
+{
+ widgetStack->setCurrentWidget(pages[i]);
+}
+
+//------------------------------------------------------------------------
+void FilterDialog::resetX()
+{
+ int ret = QMessageBox::warning
+ (this, QString(appName),
+ tr("Are you sure you want to reset all filter options to default values?"),
+ QMessageBox::Yes | QMessageBox::No);
+
+ if (ret == QMessageBox::Yes) {
+ fd.defaultAll();
+ for (int i=0; i<pages.size(); i++) {
+ pages[i]->setWidgetValues();
+ pages[i]->setEnabled(*(usePages[i]));
+ pages[i]->checkChecks();
+ ui.filterList->item(i)->setCheckState(*(usePages[i]) ? Qt::Checked: Qt::Unchecked);
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+void FilterDialog::helpX()
+{
+ ShowHelp("gpsbabel.html#Data_Filters");
+}
+
+//------------------------------------------------------------------------
+void FilterDialog::runDialog()
+{
+ if (exec()) {
+ for (int i=0; i<pages.size(); i++) {
+ pages[i]->getWidgetValues();
+ *(usePages[i]) = ui.filterList->item(i)->checkState() == Qt::Checked;
+ }
+ }
+ lastPage = ui.filterList->currentRow();
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: filterdlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef FILTER_H
+#define FILTER_H
+
+#include <QStackedWidget>
+#include "ui_filterui.h"
+#include "filterdata.h"
+#include "filterwidgets.h"
+
+class FilterDialog: public QDialog
+{
+Q_OBJECT
+ public:
+ FilterDialog(QWidget *parent, AllFiltersData &fd);
+ ~FilterDialog() {}
+
+ void runDialog();
+
+
+ private:
+ static int lastPage;
+ QList <FilterWidget *>pages;
+ QList <bool *>usePages;
+ QStackedWidget *widgetStack;
+ Ui_FilterDlg ui;
+ AllFiltersData &fd;
+
+ void addFilterPage(const QString & name, FilterWidget *w, bool *);
+
+private slots:
+ void pageSelectionChanged(int);
+ void itemClickedX(QListWidgetItem *);
+ void resetX();
+ void helpX();
+};
+
+#endif
--- /dev/null
+<ui version="4.0" >
+ <class>FilterDlg</class>
+ <widget class="QDialog" name="FilterDlg" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>892</width>
+ <height>260</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Data Filters</string>
+ </property>
+ <property name="whatsThis" >
+ <string>Data filters process and transform the data between input and output files or devices. </string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QListWidget" name="filterList" >
+ <property name="minimumSize" >
+ <size>
+ <width>140</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QFrame" name="frame" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>100</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
+ <item>
+ <widget class="QPushButton" name="helpButton" >
+ <property name="text" >
+ <string>Help</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="app.qrc" >
+ <normaloff>:/images/help.png</normaloff>:/images/help.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="resetButton" >
+ <property name="text" >
+ <string>Reset</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="app.qrc" >
+ <normaloff>:/images/reload.png</normaloff>:/images/reload.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="app.qrc" />
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>FilterDlg</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>FilterDlg</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- /dev/null
+// -*- C++ -*-
+// $Id: filterwidgets.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+
+#include "filterwidgets.h"
+
+
+//------------------------------------------------------------------------
+TrackWidget::TrackWidget(QWidget *parent, TrackFilterData &tfd): FilterWidget(parent) , tfd(tfd)
+{
+ ui.setupUi(this);
+
+ // Checkbox interlocks
+ addCheckEnabler(ui.titleCheck, ui.titleText);
+ addCheckEnabler(ui.moveCheck,
+ (QList<QWidget *> ()
+ << ui.daysLabel << ui.daysSpin
+ << ui.hoursLabel<< ui.hoursSpin
+ << ui.minsLabel << ui.minsSpin
+ << ui.secsLabel << ui.secsSpin));
+ addCheckEnabler(ui.startCheck, ui.startEdit);
+ addCheckEnabler(ui.stopCheck, ui.stopEdit);
+ addCheckEnabler(ui.GPSFixesCheck, ui.GPSFixesCombo);
+
+ connect(ui.mergeCheck, SIGNAL(clicked()) , this, SLOT(mergeCheckX()));
+ connect(ui.packCheck, SIGNAL(clicked()), this, SLOT(packCheckX()));
+ connect(ui.startCheck, SIGNAL(clicked()), this, SLOT(OtherCheckX()));
+ connect(ui.stopCheck, SIGNAL(clicked()), this, SLOT(OtherCheckX()));
+
+ ui.startEdit->setDisplayFormat("dd MMM yyyy hh:mm:ss AP");
+ ui.stopEdit->setDisplayFormat("dd MMM yyyy hh:mm:ss AP");
+
+ // Collect the data fields.
+ fopts << new BoolFilterOption(tfd.title, ui.titleCheck);
+ fopts << new BoolFilterOption(tfd.move, ui.moveCheck);
+ fopts << new BoolFilterOption(tfd.TZ, ui.TZCheck);
+ fopts << new BoolFilterOption(tfd.start, ui.startCheck);
+ fopts << new BoolFilterOption(tfd.stop, ui.stopCheck);
+ fopts << new BoolFilterOption(tfd.pack, ui.packCheck);
+ fopts << new BoolFilterOption(tfd.merge, ui.mergeCheck);
+ fopts << new BoolFilterOption(tfd.split, ui.splitCheck);
+ fopts << new BoolFilterOption(tfd.GPSFixes, ui.GPSFixesCheck);
+ fopts << new BoolFilterOption(tfd.course, ui.courseCheck);
+ fopts << new BoolFilterOption(tfd.speed, ui.speedCheck);
+
+ fopts << new IntSpinFilterOption(tfd.days, ui.daysSpin, -2000, 2000);
+ fopts << new IntSpinFilterOption(tfd.hours, ui.hoursSpin);
+ fopts << new IntSpinFilterOption(tfd.mins, ui.minsSpin);
+ fopts << new IntSpinFilterOption(tfd.secs, ui.secsSpin);
+
+ fopts << new DateTimeFilterOption(tfd.startTime, ui.startEdit);
+ fopts << new DateTimeFilterOption(tfd.stopTime, ui.stopEdit);
+
+ fopts << new StringFilterOption(tfd.titleString, ui.titleText);
+ fopts << new ComboFilterOption(tfd.GPSFixesVal, ui.GPSFixesCombo);
+ setWidgetValues();
+ checkChecks();
+}
+
+//------------------------------------------------------------------------
+void TrackWidget::OtherCheckX()
+{
+ ui.TZCheck->setEnabled(ui.stopCheck->isChecked() || ui.startCheck->isChecked());
+ ui.splitCheck->setEnabled(ui.mergeCheck->isChecked() || ui.packCheck->isChecked());
+}
+//------------------------------------------------------------------------
+void TrackWidget::mergeCheckX()
+{
+ if (ui.mergeCheck->isChecked())
+ ui.packCheck->setChecked(false);
+ OtherCheckX();
+}
+//------------------------------------------------------------------------
+
+void TrackWidget::packCheckX()
+{
+ if (ui.packCheck->isChecked())
+ ui.mergeCheck->setChecked(false);
+ OtherCheckX();
+}
+
+//------------------------------------------------------------------------
+//------------------------------------------------------------------------
+WayPtsWidget::WayPtsWidget(QWidget *parent, WayPtsFilterData &wfd): FilterWidget(parent) , wfd(wfd)
+{
+ ui.setupUi(this);
+ addCheckEnabler(ui.duplicatesCheck,
+ QList<QWidget*>() << ui.shortNamesCheck << ui.locationsCheck);
+ addCheckEnabler(ui.positionCheck,
+ QList<QWidget*>() << ui.positionText << ui.positionUnitCombo);
+ addCheckEnabler(ui.radiusCheck,
+ QList<QWidget*>() << ui.latLabel << ui.latText << ui.longLabel <<
+ ui.longText << ui.radiusUnitCombo << ui.radiusText);
+
+ fopts << new BoolFilterOption(wfd.duplicates, ui.duplicatesCheck);
+ fopts << new BoolFilterOption(wfd.shortNames, ui.shortNamesCheck);
+ fopts << new BoolFilterOption(wfd.locations, ui.locationsCheck);
+ fopts << new BoolFilterOption(wfd.position, ui.positionCheck);
+ fopts << new BoolFilterOption(wfd.radius, ui.radiusCheck);
+ fopts << new BoolFilterOption(wfd.sort, ui.sortCheck);
+ fopts << new DoubleFilterOption(wfd.positionVal, ui.positionText, 0.0, 1.0E308);
+ fopts << new DoubleFilterOption(wfd.radiusVal, ui.radiusText, 0.0, 1.0E308);
+ fopts << new DoubleFilterOption(wfd.longVal, ui.longText, -180, 180, 7, 'f');
+ fopts << new DoubleFilterOption(wfd.latVal, ui.latText, -90, 90, 7, 'f');
+ fopts << new ComboFilterOption(wfd.positionUnit, ui.positionUnitCombo);
+ fopts << new ComboFilterOption(wfd.radiusUnit, ui.radiusUnitCombo);
+
+ connect(ui.shortNamesCheck, SIGNAL(clicked()), this, SLOT(shortNamesCkX()));
+ connect(ui.locationsCheck, SIGNAL(clicked()), this, SLOT(locationsCkX()));
+ setWidgetValues();
+ checkChecks();
+}
+//------------------------------------------------------------------------
+void WayPtsWidget::shortNamesCkX()
+{
+ if (!ui.shortNamesCheck->isChecked())
+ ui.locationsCheck->setChecked(true);
+}
+//------------------------------------------------------------------------
+void WayPtsWidget::locationsCkX()
+{
+ if (!ui.locationsCheck->isChecked())
+ ui.shortNamesCheck->setChecked(true);
+}
+
+//------------------------------------------------------------------------
+//------------------------------------------------------------------------
+RtTrkWidget::RtTrkWidget(QWidget *parent, RtTrkFilterData &rfd): FilterWidget(parent) , rfd(rfd)
+{
+ ui.setupUi(this);
+ addCheckEnabler(ui.simplifyCheck,
+ QList<QWidget*>() << ui.limitToLabel << ui.limitToSpin << ui.pointLabel);
+
+ fopts << new BoolFilterOption(rfd.simplify, ui.simplifyCheck);
+ fopts << new BoolFilterOption(rfd.reverse, ui.reverseCheck);
+ fopts << new IntSpinFilterOption(rfd.limitTo, ui.limitToSpin, 1, 5000);
+ setWidgetValues();
+ checkChecks();
+}
+
+//------------------------------------------------------------------------
+//------------------------------------------------------------------------
+MiscFltWidget::MiscFltWidget(QWidget *parent, MiscFltFilterData &mfd): FilterWidget(parent) , mfd(mfd)
+{
+ ui.setupUi(this);
+ ui.transformCombo->addItem(QString("%1 %2 %3").arg(tr("Tracks")).arg(QChar(8594)).arg(tr("Waypoints")));
+ ui.transformCombo->addItem(QString("%1 %2 %3").arg(tr("Routes")).arg(QChar(8594)).arg(tr("Tracks")));
+ ui.transformCombo->addItem(QString("%1 %2 %3").arg(tr("Waypoints")).arg(QChar(8594)).arg(tr("Routes")));
+ ui.transformCombo->addItem(QString("%1 %2 %3").arg(tr("Routes")).arg(QChar(8594)).arg(tr("Waypoints")));
+ ui.transformCombo->addItem(QString("%1 %2 %3").arg(tr("Tracks")).arg(QChar(8594)).arg(tr("Routes")));
+ ui.transformCombo->addItem(QString("%1 %2 %3").arg(tr("Waypoints")).arg(QChar(8594)).arg(tr("Tracks")));
+ addCheckEnabler(ui.transformCheck,
+ QList<QWidget*>() << ui.transformCombo << ui.deleteCheck);
+
+ fopts << new BoolFilterOption(mfd.transform, ui.transformCheck);
+ fopts << new BoolFilterOption(mfd.swap, ui.swapCheck);
+ fopts << new BoolFilterOption(mfd.del, ui.deleteCheck);
+ fopts << new ComboFilterOption(mfd.transformVal, ui.transformCombo);
+
+ setWidgetValues();
+ checkChecks();
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: filterwidgets.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef FILTERWIDGETS_H
+#define FILTERWIDGETS_H
+
+
+#include "ui_trackui.h"
+#include "ui_wayptsui.h"
+#include "ui_rttrkui.h"
+#include "ui_miscfltui.h"
+#include "filterdata.h"
+
+class CheckEnabler;
+class FilterOption;
+//------------------------------------------------------------------------
+class CheckEnabler: public QObject
+{
+ Q_OBJECT
+ public:
+ CheckEnabler(QObject *parent, QCheckBox *ck, QWidget *w): QObject(parent), checkBox(ck)
+ {
+ widgetList << w;
+ connect(ck, SIGNAL(clicked()), this, SLOT(checkStatusChanged()));
+ checkStatusChanged();
+ fixWhatsThis();
+ }
+ CheckEnabler(QObject *parent, QCheckBox *ck, QList<QWidget *> &wl):
+ QObject(parent), checkBox(ck)
+ {
+ widgetList = wl;
+ connect(ck, SIGNAL(clicked()), this, SLOT(checkStatusChanged()));
+ checkStatusChanged();
+ fixWhatsThis();
+ }
+
+public slots:
+ void checkStatusChanged()
+ {
+ bool b = checkBox->isChecked();
+ for (int i=0; i<widgetList.size(); i++) {
+ widgetList[i]->setEnabled(b);
+ }
+ }
+
+private:
+ QCheckBox *checkBox;
+ QList<QWidget*> widgetList;
+ void fixWhatsThis()
+ {
+ QString wts = checkBox->whatsThis();
+ if (wts.length() != 0) {
+ for (int i=0; i<widgetList.size(); i++) {
+ QString s = widgetList[i]->whatsThis();
+ if (s.length() == 0)
+ widgetList[i]->setWhatsThis(wts);
+ }
+ }
+ QString wtf = checkBox->toolTip();
+ if (wtf.length() != 0) {
+ for (int i=0; i<widgetList.size(); i++) {
+ QString s = widgetList[i]->toolTip();
+ if (s.length() == 0)
+ widgetList[i]->setToolTip(wtf);
+ }
+ }
+ }
+
+};
+
+//------------------------------------------------------------------------
+class FilterOption
+{
+ public:
+ FilterOption() {};
+ virtual ~FilterOption() {};
+ virtual void setWidgetValue() = 0;
+ virtual void getWidgetValue() = 0;
+};
+
+//------------------------------------------------------------------------
+class BoolFilterOption: public FilterOption
+{
+ public:
+ BoolFilterOption(bool &b, QCheckBox *ck): FilterOption(), b(b), checkBox(ck)
+ {
+ }
+ void setWidgetValue() {checkBox->setChecked(b); }
+ void getWidgetValue() {b = checkBox->isChecked(); }
+
+ private:
+ bool &b;
+ QCheckBox *checkBox;
+};
+
+//------------------------------------------------------------------------
+class IntSpinFilterOption: public FilterOption
+{
+ public:
+ IntSpinFilterOption(int &val, QSpinBox *sb, int bottom = -100, int top = 100): FilterOption(), val(val), spinBox(sb)
+ {
+ sb->setRange(bottom, top);
+ }
+ void setWidgetValue() {spinBox->setValue(val); }
+ void getWidgetValue() {val = spinBox->value(); }
+
+ private:
+ int &val;
+ QSpinBox *spinBox;
+};
+
+//------------------------------------------------------------------------
+class StringFilterOption: public FilterOption
+{
+ public:
+ StringFilterOption(QString &val, QLineEdit *le): FilterOption(), val(val), lineEdit(le)
+ {
+ }
+ void setWidgetValue() {lineEdit->setText(val); }
+ void getWidgetValue() {val = lineEdit->text(); }
+
+ private:
+ QString &val;
+ QLineEdit *lineEdit;
+};
+
+//------------------------------------------------------------------------
+class DoubleFilterOption: public FilterOption
+{
+ public:
+ DoubleFilterOption(double &val, QLineEdit *le,
+ double minVal = -1.E308,
+ double maxVal = 1.0E308,
+ int decimals = -1,
+ char format = 'g'
+ ): FilterOption(), val(val), lineEdit(le), minVal(minVal),
+ maxVal(maxVal), decimals(decimals), format(format)
+ {
+ le->setValidator(new QDoubleValidator(minVal, maxVal, decimals, le));
+ }
+ void setWidgetValue() {
+ lineEdit->setText(QString("%1").arg(val, 0, format, decimals));
+ }
+ void getWidgetValue() {
+ val = lineEdit->text().toDouble();
+ val = qMin(val, maxVal);
+ val = qMax(val, minVal);
+ }
+
+ private:
+ double &val;
+ QLineEdit *lineEdit;
+ double minVal, maxVal;
+ int decimals;
+ char format;
+};
+
+//------------------------------------------------------------------------
+class DateTimeFilterOption: public FilterOption
+{
+ public:
+ DateTimeFilterOption(QDateTime &val, QDateTimeEdit *w): FilterOption(), val(val), w(w)
+ {
+ }
+ void setWidgetValue() {w->setDateTime(val); }
+ void getWidgetValue() {val = w->dateTime(); }
+
+ private:
+ QDateTime &val;
+ QDateTimeEdit *w;
+};
+
+//------------------------------------------------------------------------
+class ComboFilterOption: public FilterOption
+{
+ public:
+ ComboFilterOption(int &val, QComboBox *w): FilterOption(), val(val), w(w)
+ {
+ }
+ void setWidgetValue() {w->setCurrentIndex(val); }
+ void getWidgetValue() {val = w->currentIndex(); }
+
+ private:
+ int &val;
+ QComboBox *w;
+};
+
+
+//------------------------------------------------------------------------
+class FilterWidget: public QWidget
+{
+public:
+ FilterWidget(QWidget *parent) : QWidget(parent) {}
+ ~FilterWidget() {
+ for (int i=0; i<fopts.size(); i++)
+ delete fopts[i];
+ }
+
+ void getWidgetValues() {
+ for (int i=0; i<fopts.size(); i++) {
+ fopts[i]->getWidgetValue();
+ }
+ }
+ void setWidgetValues() {
+ for (int i=0; i<fopts.size(); i++)
+ fopts[i]->setWidgetValue();
+ }
+ void addCheckEnabler(QCheckBox *ck, QWidget *w) {
+ enbls << new CheckEnabler(this, ck, w);
+ }
+ void addCheckEnabler(QCheckBox *ck, QList<QWidget *> &wl)
+ {
+ enbls << new CheckEnabler(this, ck, wl);
+ }
+ virtual void checkChecks(){
+ for (int i=0; i<enbls.size(); i++)
+ enbls[i]->checkStatusChanged();
+ }
+
+protected:
+ QList <FilterOption*> fopts;
+ QList <CheckEnabler *> enbls;
+};
+
+//------------------------------------------------------------------------
+
+class TrackWidget: public FilterWidget
+{
+Q_OBJECT
+ public:
+ TrackWidget(QWidget *parent, TrackFilterData &tf);
+
+ virtual void checkChecks(){
+ OtherCheckX();
+ FilterWidget::checkChecks();
+ }
+
+ private:
+ Ui_TrackWidget ui;
+ TrackFilterData &tfd;
+
+ private slots:
+ void mergeCheckX();
+ void OtherCheckX();
+ void packCheckX();
+};
+
+//------------------------------------------------------------------------
+class WayPtsWidget: public FilterWidget
+{
+Q_OBJECT
+ public:
+ WayPtsWidget(QWidget *parent, WayPtsFilterData &wf);
+
+ private:
+ Ui_WayPtsWidget ui;
+ WayPtsFilterData &wfd;
+
+private slots:
+ void locationsCkX();
+ void shortNamesCkX();
+};
+
+//------------------------------------------------------------------------
+class RtTrkWidget: public FilterWidget
+{
+Q_OBJECT
+ public:
+ RtTrkWidget(QWidget *parent, RtTrkFilterData &wf);
+
+ private:
+ Ui_RtTrkWidget ui;
+ RtTrkFilterData &rfd;
+};
+//------------------------------------------------------------------------
+class MiscFltWidget: public FilterWidget
+{
+Q_OBJECT
+ public:
+ MiscFltWidget(QWidget *, MiscFltFilterData &);
+
+ private:
+ Ui_MiscFltWidget ui;
+ MiscFltFilterData &mfd;
+};
+
+#endif
--- /dev/null
+// -*- C++ -*-\r
+// $Id: format.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $\r
+//------------------------------------------------------------------------\r
+//\r
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.\r
+//\r
+// This program is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU General Public License as\r
+// published by the Free Software Foundation; either version 2 of the\r
+// License, or (at your option) any later version.\r
+//\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111\r
+// USA\r
+//\r
+//------------------------------------------------------------------------\r
+#include "format.h"\r
+\r
+static void saveOptions(QSettings &settings, const QString &prefix, const QList<FormatOption> &options) {\r
+ for (int i=0; i<options.size(); i++) {\r
+ QString kp = prefix + "." + options[i].getName();\r
+ QString k1 = kp + ".selected";\r
+ QString k2 = kp + ".value";\r
+ settings.setValue(k1, options[i].getSelected());\r
+ settings.setValue(k2, options[i].getValue());\r
+ }\r
+}\r
+\r
+static void restoreOptions(QSettings &settings, const QString&prefix, QList<FormatOption> &options) {\r
+ for (int i=0; i<options.size(); i++) {\r
+ QString kp = prefix + "." + options[i].getName();\r
+ QString k1 = kp + ".selected";\r
+ QString k2 = kp + ".value";\r
+ if (settings.contains(k1) && settings.contains(k2)) {\r
+ options[i].setSelected(settings.value(k1).toBool());\r
+ options[i].setValue(settings.value(k2));\r
+ }\r
+ }\r
+}\r
+\r
+void Format::saveSettings(QSettings &settings)\r
+{\r
+ saveOptions(settings, name+".input", inputOptions);\r
+ saveOptions(settings, name+".output", outputOptions);\r
+}\r
+\r
+void Format::restoreSettings(QSettings &settings)\r
+{\r
+ restoreOptions(settings, name+".input", inputOptions);\r
+ restoreOptions(settings, name+".output", outputOptions);\r
+}\r
+\r
+void Format::setToDefault()\r
+{\r
+ for (int i=0; i<inputOptions.size(); i++) {\r
+ inputOptions[i].setSelected(false);\r
+ inputOptions[i].setValue(QVariant());\r
+ }\r
+ for (int i=0; i<outputOptions.size(); i++) {\r
+ outputOptions[i].setSelected(false);\r
+ outputOptions[i].setValue(QVariant());\r
+ }\r
+}\r
--- /dev/null
+// -*- C++ -*-\r
+// $Id: format.h,v 1.1 2009/07/05 21:14:56 robertl Exp $\r
+//------------------------------------------------------------------------\r
+//\r
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.\r
+//\r
+// This program is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU General Public License as\r
+// published by the Free Software Foundation; either version 2 of the\r
+// License, or (at your option) any later version.\r
+//\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111\r
+// USA\r
+//\r
+//------------------------------------------------------------------------\r
+#ifndef FORMAT_H\r
+#define FORMAT_H\r
+\r
+#include <QString>\r
+#include <QVariant>\r
+#include <QStringList>\r
+#include <QSettings>\r
+\r
+class FormatOption\r
+{\r
+public:\r
+ typedef enum {\r
+ OPTstring,\r
+ OPTbool,\r
+ OPTint,\r
+ OPTboundedInt,\r
+ OPTfloat,\r
+ OPTinFile,\r
+ OPToutFile,\r
+ } optionType;\r
+ \r
+ FormatOption(): name(QString()), description(QString()), type(OPTbool), \r
+ defaultValue(QVariant()), \r
+ minValue(QVariant()), maxValue(QVariant()), \r
+ html(QString()), value(QVariant()), selected(false)\r
+ {\r
+ }\r
+ FormatOption(const QString &name, \r
+ const QString &description,\r
+ optionType type,\r
+ QVariant defaultValue = QVariant(),\r
+ QVariant minValue = QVariant(),\r
+ QVariant maxValue = QVariant(),\r
+ QString html = QString()\r
+ ): name(name), description(description), type(type),\r
+ defaultValue(defaultValue), minValue(minValue), maxValue(maxValue), html(html)\r
+ {\r
+ value = QVariant();\r
+ selected = false;\r
+ }\r
+ FormatOption(const FormatOption & c)\r
+ : name(c.name), description(c.description), type(c.type),\r
+ defaultValue(c.defaultValue), minValue(c.minValue), maxValue(c.maxValue), html(c.html),\r
+ value(c.value), selected(c.selected)\r
+ {\r
+ }\r
+ \r
+ QString getName() const {return name; }\r
+ QString getDescription() const {return description; }\r
+ optionType getType() const {return type; }\r
+ QVariant getValue() const { return value; }\r
+ bool getSelected() const {return selected; }\r
+ QVariant getMinValue() const {return minValue; }\r
+ QVariant getMaxValue() const {return maxValue; }\r
+ QVariant getDefaultValue() const {return defaultValue; }\r
+\r
+ void setValue(QVariant v) { value = v; };\r
+ void setSelected(bool v) { selected = v; };\r
+\r
+private:\r
+ QString name;\r
+ QString description;\r
+ optionType type;\r
+ QVariant defaultValue;\r
+ QVariant minValue;\r
+ QVariant maxValue;\r
+ QString html;\r
+ QVariant value;\r
+ bool selected;\r
+};\r
+\r
+\r
+//------------------------------------------------------------------------\r
+class Format \r
+{\r
+ public:\r
+ Format():name(QString()),\r
+ description(QString()),\r
+ readWaypoints(false),\r
+ readTracks(false),\r
+ readRoutes(false),\r
+ writeWaypoints(false),\r
+ writeTracks(false),\r
+ writeRoutes(false),\r
+ fileFormat(false),\r
+ deviceFormat(false),\r
+ extensions(QStringList()) \r
+ {\r
+ inputOptions.clear();\r
+ outputOptions.clear();\r
+ };\r
+\r
+ Format(const QString &name,\r
+ const QString &description,\r
+ bool readWaypoints, bool readTracks, bool readRoutes,\r
+ bool writeWaypoints, bool writeTracks, bool writeRoutes,\r
+ bool fileFormat, bool deviceFormat,\r
+ const QStringList &extensions,\r
+ QList<FormatOption> &inputOptions, \r
+ QList<FormatOption> &outputOptions):\r
+ name(name), description(description),\r
+ readWaypoints(readWaypoints), readTracks(readTracks), readRoutes(readRoutes),\r
+ writeWaypoints(writeWaypoints), writeTracks(writeTracks), writeRoutes(writeRoutes),\r
+ fileFormat(fileFormat), deviceFormat(deviceFormat),\r
+ extensions(extensions),\r
+ inputOptions(inputOptions),\r
+ outputOptions(outputOptions)\r
+ {\r
+ }\r
+\r
+ Format(const Format &c):\r
+ name(c.name), description(c.description),\r
+ readWaypoints(c.readWaypoints), readTracks(c.readTracks), readRoutes(c.readRoutes),\r
+ writeWaypoints(c.writeWaypoints), writeTracks(c.writeTracks), writeRoutes(c.writeRoutes),\r
+ fileFormat(c.fileFormat), deviceFormat(c.deviceFormat),\r
+ extensions(c.extensions),\r
+ inputOptions(c.inputOptions),\r
+ outputOptions(c.outputOptions)\r
+ {\r
+ }\r
+\r
+ ~Format() {};\r
+\r
+ bool isReadWaypoints() const { return readWaypoints; };\r
+ bool isReadTracks() const { return readTracks; };\r
+ bool isReadRoutes() const { return readRoutes; };\r
+ bool isReadSomething() const { \r
+ return isReadWaypoints() || isReadTracks () || isReadRoutes(); \r
+ };\r
+\r
+ bool isWriteWaypoints() const { return writeWaypoints; };\r
+ bool isWriteTracks() const { return writeTracks; };\r
+ bool isWriteRoutes() const { return writeRoutes; };\r
+ bool isWriteSomething() const { \r
+ return isWriteWaypoints() || isWriteTracks () || isWriteRoutes(); \r
+ };\r
+\r
+ QString getName() const { return name; };\r
+ QString getDescription() const { return description; };\r
+ QStringList getExtensions() const { return extensions; };\r
+ const QList<FormatOption> &getInputOptions() const { return inputOptions; };\r
+ const QList<FormatOption> &getOutputOptions() const { return outputOptions; };\r
+\r
+ QList<FormatOption> *getInputOptionsRef() { return &inputOptions; };\r
+ QList<FormatOption> *getOutputOptionsRef() { return &outputOptions; };\r
+\r
+ bool isDeviceFormat() const { return deviceFormat; };\r
+ bool isFileFormat() const { return fileFormat; };\r
+ \r
+ void saveSettings(QSettings &settings);\r
+ void restoreSettings(QSettings &settings);\r
+ void setToDefault();\r
+\r
+ private:\r
+ QString name, description;\r
+ bool readWaypoints, readTracks, readRoutes;\r
+ bool writeWaypoints, writeTracks, writeRoutes;\r
+ bool fileFormat, deviceFormat;\r
+ QStringList extensions;\r
+ QList<FormatOption>inputOptions;\r
+ QList<FormatOption>outputOptions;\r
+ \r
+};\r
+\r
+#endif\r
--- /dev/null
+// -*- c++ -*-
+// $Id: formatload.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#include <QProcess>
+#include <QMessageBox>
+#include <QTextStream>
+#include <QCoreApplication>
+#include <QApplication>
+#include "formatload.h"
+#include "appname.h"
+
+//------------------------------------------------------------------------
+static QString xlt(const QString &f) {
+ return QCoreApplication::translate("", f.toStdString().c_str());
+}
+
+//------------------------------------------------------------------------
+bool FormatLoad::skipToValidLine()
+{
+ QRegExp regex("^(file|serial)");
+ while (currentLine <lines.size() && regex.indexIn(lines[currentLine]) != 0)
+ currentLine++;
+ return (currentLine<lines.size());
+}
+
+//------------------------------------------------------------------------
+bool FormatLoad::processFormat(Format &format)
+{
+ QStringList hfields = lines[currentLine++].split("\t");
+ if (hfields.size() < 5) {
+ return false;
+ }
+ QString htmlPage = lines[currentLine++];
+
+ QRegExp regex("^option");
+ QList <FormatOption> optionList;
+ while (currentLine <lines.size() && regex.indexIn(lines[currentLine]) == 0) {
+ QStringList ofields = lines[currentLine].split("\t");
+ if (ofields.size() < 9) {
+ return false;
+ }
+ QString name = ofields[2];
+ QString description = ofields[3];
+ QString optionType = ofields[4];
+ QString optionDef = ofields[5];
+ QString optionMin = ofields[6];
+ QString optionMax = ofields[7];
+ QString optionHtml = ofields[8];
+ FormatOption::optionType type = FormatOption::OPTbool;
+ if (optionType == "boolean")
+ type = FormatOption::OPTbool;
+ else if (optionType == "string")
+ type = FormatOption::OPTstring;
+ else if (optionType == "integer") {
+ type = (optionMax != "" && optionMin != "") ? FormatOption::OPTboundedInt : FormatOption::OPTint;
+ if (optionMax == "")
+ optionMax = "2147483647";
+ if (optionMin == "")
+ optionMin = "-2147483647";
+ }
+ else if (optionType == "float") {
+ type = FormatOption::OPTfloat;
+ if (optionMax == "")
+ optionMax = "1.0E308";
+ if (optionMin == "")
+ optionMin = "-1.0E308";
+ }
+ else if (optionType == "file") {
+ type = FormatOption::OPTinFile;
+ }
+ else if (optionType == "outfile") {
+ type = FormatOption::OPToutFile;
+ }
+ else {
+ type = FormatOption::OPTstring;
+ }
+ optionList << FormatOption(name, xlt(description),
+ type, QVariant(optionDef), QVariant(optionMin),
+ QVariant(optionMax), optionHtml);
+ currentLine++;
+ }
+ QList <FormatOption> optionList2 = optionList;
+
+ format = Format(hfields[2], xlt(hfields[4]),
+ hfields[1][0] == QChar('r'), hfields[1][2] == QChar('r'), hfields[1][4] == QChar('r'),
+ hfields[1][1] == QChar('w'), hfields[1][3] == QChar('w'), hfields[1][5] == QChar('w'),
+ hfields[0] == "file",
+ hfields[0] == "serial",
+ QStringList() << hfields[3],
+ optionList,
+ optionList2);
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool FormatLoad::getFormats(QList<Format> &formatList)
+{
+ formatList.clear();
+
+ QProcess babel;
+ babel.start("gpsbabel", QStringList() << "-^3");
+ if (!babel.waitForStarted())
+ return false;
+ babel.closeWriteChannel();
+ if (!babel.waitForFinished())
+ return false;
+ if (babel.exitCode() != 0)
+ return false;
+
+ QTextStream tstream(babel.readAll());
+ QList<int>lineList;
+ int k=0;
+ while(!tstream.atEnd()) {
+ QString l = tstream.readLine();
+ k++;
+ if (!QRegExp("^[\\s]*$").exactMatch(l)) {
+ lines << l;
+ lineList<<k;
+ }
+ }
+ currentLine = 0;
+
+ for (bool dataPresent = skipToValidLine(); dataPresent; dataPresent=skipToValidLine()) {
+ Format format;
+ if (!processFormat(format)) {
+ QMessageBox::information
+ (0, appName,
+ QObject::tr("Error processing formats from running process \"gpsbabel -^3\" at line %1").arg(lineList[currentLine]));
+ }
+ else {
+ formatList << format;
+ }
+ }
+ return true;
+}
+
--- /dev/null
+// -*- c++ -*-
+// $Id: formatload.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+
+#ifndef FORMATLOAD_H
+#define FORMATLOAD_H
+
+#include "format.h"
+
+class FormatLoad {
+ public:
+ FormatLoad() {};
+ ~FormatLoad() {};
+
+ bool getFormats(QList<Format> &formatList);
+ private:
+ QStringList lines;
+ int currentLine;
+ bool skipToValidLine();
+ bool processFormat(Format &format);
+};
+
+#endif
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Google Maps JavaScript</title>
+ <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAN6d3-kz3XqyJq-W9n7IYzhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxT_28W9HdpKXQF8sGkCU0sQpcudOQ"
+ type="text/javascript"></script>
+ <script type="text/javascript">
+ var greenDotIcon = new GIcon();
+
+ greenDotIcon.image =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFEQAuF1F01CYAAABhSURBVAjX" +
+ "Vc07EYNgFAXh7/41WhCAjLigjgBKTDA4SIeDJD4igjqXgvc2p9jZOQE+aqlDgx96YYpNfFEJV9rw" +
+ "9sLjEIlAmguaWxHHVmX7WIsr6V/Q34qTsQgTWsx7IQ14LpGFGBx6omuVAAAAAElFTkSuQmCC" +
+ "";
+
+ greenDotIcon.shadow =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHCAYAAADebrddAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFEQAuO2OsuMUAAABSSURBVBjT" +
+ "tc2xCYNgGAbh5wt/YZUiA4g4QiZwcifJDCIu8FoKPxZJkSuPg6skvuXhB/4Xt15UFYwYMGHDjk/r" +
+ "wheW7vjEluSKq2rG++Z+JFnhBAGmEETSZHQ5AAAAAElFTkSuQmCC" +
+ "";
+
+ greenDotIcon.transparent =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFEQAvJ2621csAAAA5SURBVAjX" +
+ "ZY3BDQAgDAKPxv2n0rnwZ1vLh4QLINvoKDBdArFJoM4ncHqMhtLjhf+nK/z+ANYIy8IFAWkMmzto" +
+ "LrsAAAAASUVORK5CYII=" +
+ "";
+
+ greenDotIcon.mozPrintImage
+ "data:image/gif;base64,"+
+ "R0lGODdhBwAHAOMAAATCBITWhDTKNLzavBTGFNTe1AzGDEzOTOTi5ATGBJzWnNzi3FzOXAAAAAAA" +
+ "AAAAACwAAAAABwAHAAAEGhCNQ4RaI4GdwuFAYhChtglaogJKyB1LYMIRADs=" +
+ "";
+
+ greenDotIcon.printImage =
+ "data:image/gif;base64,"+
+ "R0lGODlhBwAHAKEAAATCBATGBP///wAAACH5BAEAAAIALAAAAAAHAAcAAAINVIAQp8ePlot0WpVA" +
+ "AQA7" +
+ "";
+
+ greenDotIcon.printShadow =
+ "data:image/gif;base64,"+
+ "R0lGODlhCwAHAIAAAISChP///yH5BAEAAAEALAAAAAALAAcAAAIMjI+py+0JQoxoSlMAADs=" +
+ "";
+
+ greenDotIcon.iconSize = new GSize(7,7);
+ greenDotIcon.shadowSize = new GSize(11,7);
+ greenDotIcon.iconAnchor = new GPoint(4,4);
+ greenDotIcon.infoWindowAnchor = new GPoint(4,0);
+ greenDotIcon.imageMap = [6,0,6,1,6,2,6,3,6,4,6,5,6,6,0,6,0,5,0,4,0,3,0,2,0,1,1,0];
+
+ var redDotIcon = new GIcon();
+
+ redDotIcon.image =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFEQEfHu83AQcAAABjSURBVAjX" +
+ "Vc0xEYNQFETR836NFgQgAxfUCEiJiUwc0GGBOpGACOo8isDks80Wd+5uwIc2eaDDhilY4gQrmnDL" +
+ "EG9m9BdIxK/3gq424t9NOT/kfVLyLZhqo8qrBAsG7JeRPDEes/UYQBcqkmIAAAAASUVORK5CYII=" +
+ "";
+
+ redDotIcon.shadow =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHCAYAAADebrddAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFEQAuO2OsuMUAAABSSURBVBjT" +
+ "tc2xCYNgGAbh5wt/YZUiA4g4QiZwcifJDCIu8FoKPxZJkSuPg6skvuXhB/4Xt15UFYwYMGHDjk/r" +
+ "wheW7vjEluSKq2rG++Z+JFnhBAGmEETSZHQ5AAAAAElFTkSuQmCC" +
+ "";
+
+ redDotIcon.transparent =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFEQAvJ2621csAAAA5SURBVAjX" +
+ "ZY3BDQAgDAKPxv2n0rnwZ1vLh4QLINvoKDBdArFJoM4ncHqMhtLjhf+nK/z+ANYIy8IFAWkMmzto" +
+ "LrsAAAAASUVORK5CYII=" +
+ "";
+ redDotIcon.mozPrintImage
+ "data:image/png;base64,"+
+ "R0lGODdhBwAHAOMAAMwCBNyGhNQyNNy6vNQWFMwKDOTW1NRKTOTe3NQCBNyanNQKDNRaXOTi5AAA" +
+ "AAAAACwAAAAABwAHAAAEGrCNQ4RCAyTAw9lgQWhkInAgoKQJgwTFxhgRADs=" +
+ "";
+ redDotIcon.printImage =
+ "data:image/png;base64,"+
+ "R0lGODlhBwAHAKEAAMwCBNQCBP///wAAACH5BAEAAAIALAAAAAAHAAcAAAIMVAB3yaGMnmtQ0lUA" +
+ "ADs=" +
+ "";
+ redDotIcon.printShadow =
+ "data:image/png;base64,"+
+ "R0lGODlhCwAHAIAAAISChP///yH5BAEAAAEALAAAAAALAAcAAAIMjI+py+0JQoxoSlMAADs=" +
+ "";
+
+ redDotIcon.iconSize = new GSize(7,7);
+ redDotIcon.shadowSize = new GSize(11,7);
+ redDotIcon.iconAnchor = new GPoint(4,4);
+ redDotIcon.infoWindowAnchor = new GPoint(4,0);
+ redDotIcon.imageMap = [6,0,6,1,6,2,6,3,6,4,6,5,6,6,0,6,0,5,0,4,0,3,0,2,0,1,1,0];
+ var blueIcon = new GIcon();
+ blueIcon.image =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFDBcMBidsiEMAAASrSURBVFjD" +
+ "xZZbbBRlGIafPe/szLa7hdKWbqAVExppjBUrWEu5MYoolKiQbIAbORgTjTTBGGOi8cKYaLxSE7nR" +
+ "EGONqBTkoiCKirWRpDFCKTRtw0K32wPd7ml2d2Z2Zme9aDG0QeSwtF/yZ5Lv/5P3+fO+/5eBW6je" +
+ "3t4a7lFZ/+/AsWPH6kOh0AsLBpBIJD7t6OgwFgxAVdWWwcHB2L0CsN9sc/XqR5ZoqorS1fUdUAIP" +
+ "1oHNCZFhuDp8zwFWPVDXnMpq+Pd8kXyz/j57SamPrGFhbEpmKDLBQCR6fPT7t1+D8YE7BbDdbHP7" +
+ "9uCLZ/omm4LbglZBcKEaBVQd8g43wqKlVK2sv9+5fterUcUrmcO/nSx6Bqqrq5vCkxpTiSzDExki" +
+ "UZWRmEYkYTCSMgnJFhSpgupn9u2317+8t+gAZt5oUk2J4YkUY1MZRmMKowmdSKrASNbGqCEwnsyT" +
+ "TWhUrlh3oNgZ8GhqBtNdRXgiTSJrkMpbkU2YAmTJieZy4dQUSrMZSnSdkWIC7NyxvWkqpYKzmpFo" +
+ "lrhaIJyCjNUCixzgkLAVTNw5FX86gaLEzxfVgoaGh5ouXLqKgchgJE3/lQwZwwoeEUQvuAWceg5R" +
+ "yeDNxhgY6nypqACBQPXj5wZTDF9NE00a4HKBSwBBBMmLjQJuTcEnp8jKfd2ET3QXNQN5Q28aSbrw" +
+ "VzmxFFJYHHkD0bTbfD6SlWVmdiJp9WQzVFmmONnX91fRB1EqlZZyavTw5OmP3iPx5/UCdf61719s" +
+ "3PAkquHmQugi+Btecdif69CHDp8qigXBYHCtnFFJ9rY/P0cc66rXP4yrZXR/8yMBSw+RSQdIPvTl" +
+ "rT87nOWBogA0NjY2yXLKnNsXqiSfaa94FosJbj8//HIFSrzTwSyrRW89GHYsbn70rgECgcD6cDj8" +
+ "69y+5t97AKsXzDTkk1C6HEQPeCQQPFCxEn3nwTO2pz/+8q4Acrlc8+TkZNes21c4PAWbbxtmBiwS" +
+ "uBaDZ0Zc9E4vjwfKqnA9tmuHb3d3wb/hs6MEnnritkMYj8fLBEH4YxZU2e59BXsVFHSw2UAUQZwR" +
+ "98zYIEq4DR23kkEQKxBrWzbXVD68WZ8IoiiJHkWTu+XM1FjOiFUbRv5AfuCr85a54lu3bq1fs2ZN" +
+ "r81mE9va2rLX+l4r9syqd3XTsXRa3FsC3lLw+qa/JaU4rFZEJYOgZhFnlqDI2M0CFKwsrbQgZy/1" +
+ "dB75ehOxn8ZvaEFLS0uTLMtcLw4gmxhm7zsWpzl4WvI7QfKDpxTEEhC9WK023EoWp6ri1jSciopT" +
+ "UaitECgtjVFePnDo0CfBFZ2f72q8Jn5DCwKBwLqzZ8/2/Jdnub8/WJ87V15Tu+mNt3Rh+RbsyxY7" +
+ "fSKiBUSnjtMSxZobx+ORh0p8qVPfnujsMPqPHL/lDGia1hyLxY7cNLrm5OXQ0f17gD3TDVcdLPEB" +
+ "BoQvA9E7noTRaLRGkqTfb2+caP0Qvvu/4tbW1mWqqtLQ0NDNPNUsgI0bNzan02na2trGFwQgEAis" +
+ "Gxsb62ceaxaAoijNyWSya8EA4vF4vWEYg/MJ8O8rkCRpS3t7O6FQKMECVSWgzLfoP0Pf/kzVF9v7" +
+ "AAAAAElFTkSuQmCC" +
+ "";
+
+ blueIcon.shadow =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAYAAABU1PscAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFDBcMJYUL+TEAAAEmSURBVFjD" +
+ "7ZetbgJBFEbPEBTpE6DQqyrQpJKgEPuY1U1ln6CqIQh0gyAEQRAV3JptA9v5Hyhscr/kus3knNlv" +
+ "JrtGROhyenQ8KqACKqACKqACKqACKqACt0u/dAFjTHffQAT8+JrwIoLJ/SOLgK+BD8cmrYCvUngg" +
+ "TyAA/wBMI5ZZNJMNn3UGAvB1wlJVjkB7w/s3gn8DNqXwSQIe+KqZnxxPen9snYFXYF9amzOumDPg" +
+ "ga+BZ8f1PL9U732MQQEHfA94BN4zqpQkEeTz2tnhZ8BL4RkAWDYVA/gEdqnwXgEHvKsyFTAARhn1" +
+ "XtgkYq93q4AFfggcbLtkyaiRsWULrEtr8+fh07lANYo/D1ImBP90z/BnAq1M/vurMgf+V6CVeVfg" +
+ "RYRveXcZHbtZkpsAAAAASUVORK5CYII=" +
+ "";
+
+ blueIcon.printImage =
+ "data:image/gif;base64,"+
+ "R0lGODlhIAAgAOcAAAQCBARu3AQ+fHx+fDw+PARWtERurAQeRASG9DRGZJSu3ARKlDRuvAR67AQi" +
+ "ZHyWzFRWVCRWtDyG5DxWvDQCBBRKnAQubAwWBBxyzAQ6pJSWlARi1FxunBR65CxizERmnAQujHSS" +
+ "zCSO7FyKzAQCLCQiJCRClNTS1ASC9ARCpJSm3ExinISKjKyqpARKtGRiZBxSnKSinAwODAR25Bxe" +
+ "rAQqVAx67Bx2zFR6vARSvAQCFARezDx6zByK7DRWxBxOnBQ2bAQSPBRmxDRizAQ2nFyW3CROjJSS" +
+ "lLSytAxOrARy3BQ6hExOTARWxAQqhHye1FRedFSa5AQuhBRy5Aw+pJyWlDxmtAQynCSa/ARGtExq" +
+ "pIyKhDRKjAQmVAyS/CxGfCR+3AR+7AQqbFxeXCxetFSGzAwudAQ+pARq3FRuvCRq1AQylDSO5GyO" +
+ "zARGrKyurAROtFxqdKSmpAwuXAx+7GSCxAQGFDyCzBxOrAQWPCxKpBxClARaxBxu3JyalERqtDQy" +
+ "NKS25DR6zGyW1CxezBR25DRq1CxWpCxqxISChERCRFxaXFRSVERivAyK9ExmrISi1ESG3HySxGSK" +
+ "xER6xCxOlFRqnFxuxAwCBERuvBRKrCyO7AyC9Ax25Bw6hDRKbHya1AQydAwaDFR+xBRqzIyOjDxa" +
+ "vARm1GRmZLS2tBxy3ARu5BR67AQulAQCNARCrKyqrBxSpKSipAQqXAQCHByK9BxOpAQSRAxOtARy" +
+ "5IyKjAQmXAR+9AQqdAQ+rAROvAx+9ARazJyanP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMMALAAAAAAgACAA" +
+ "AAj+AIcJHDjwBMGDCBMqRIJEocOHA2W9gEgxoTACFTMKBHSEAgASrnRofDiGxYcQkEBNMgBD5MiD" +
+ "W6AEUpByUJEobAS8JCjnk4oHbUaUicQGSw8xOwXG+NKmDg5KgsD0cFTIVlIAVSrhMMAAkZBOKID1" +
+ "0ZO05CErZHDl2NAARachJpKWihOhgi8XwZSg4NXH1IGkLRJQyZAlx6m2HTxwSTpMDhA8FWLRwOCF" +
+ "byMHjKvMCTIQwBJBhvas6bJzka6Dva440dIqQwo7L0sNICgKxBrVGdw0KZBnJKyJA1ODkELETY4d" +
+ "aJQs0CiHycALUmwTefUrGJoZKDgJqfAX4hEIA8WPXGl1xRccPqdy7e3UR80QPSY8mZm16yCEUqUG" +
+ "YpJy5YyLJunxgoIN7RHiwwQTpLHCLQgdkQhCFiTRxAartNXJFGoYeMkKlriE0BuoJKTDDzTc0MMm" +
+ "EvBghRaW1AARLIxABAAttACg0RFjMOYQE/jpqJAwD/qYUCohCokQLIsYiZAw4Ck5kAyKlOBkZzZO" +
+ "GRAAOw==" +
+ "";
+
+ blueIcon.mozPrintImage =
+ "data:image/gif;base64,"+
+ "R0lGODdhIAAgAOcAAAQGBAR25Hx6fAQ+pERCRKy2vER6xARaxJSWlFRedCR+3CxGfFyKzBxerMzO" +
+ "zJyWlDxmtASG9AROtLy6tBx2zGR2lARq3KympAQqhFxqdExmrAR+7ISKjBxOnCxqrAQujARGrFSC" +
+ "rJSm3CSO7GyKrMTGxDRizDxalHyWzERenNza3ARWtBRqzKSutHyOrCxOlKS25FR2rARi1JyenDRu" +
+ "vLzCzAx+7Bxu3AQ2nAw+pLSytDR6zByK7AxOrGyGrARy3BxWpGyOzERmpFR+xAx25ARCpFSa5Cxe" +
+ "tNTW1Ly+xBR25BQ2bExqpJSSlAQynBRKrCSa/DRWxHye1KyurFx6rERqtBxyzLS2tDyCzISChDRG" +
+ "ZARezIyatBxClNTS1JyalARSvLy+vARu3KyqtFxuxASC9IyKjBxOrAQylARKtESG3DSO5MzKzExi" +
+ "pOTi5HySxFR6vBRmxKSinAyC9BSS/HSCrGyW1CxezBR65FxupDxWvERuvAR67Hx+fAQ+rARazFRm" +
+ "hCxKpGx+rFSGzBRy5FRuvGSCxCxWpBQ6hDyG5DRq1CxqxJSu3CRWtExmlERivISStCRq1FyW3AyK" +
+ "9HSSzISi1GSKxHSKpMTCxCyO7ARWxDx6zBxy3KyqrHya1ERilAQ6pAx67ERurDRKbFxynAQuhNze" +
+ "3FR6rARm1IyetIyOjCxizDxavMzO1AROvLy6vAR+9BxOpAQulARGtMTGzKSuvAx+9LSyvByK9AxO" +
+ "tARy5ARCrKyutLS2vJyanARu5KSipBR67AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAIAAgAAAI/gDduDEl" +
+ "kODAgwgNKizIcODCgyrYJGz48OHEgVeAHSRYkaJHjgJnaBTIEORFkwYLemmCBAkvXiVSekQ4U+AV" +
+ "DkLeVJJiaU+IMCk7WuR4JQEMRpU82ZFkJBMJUzJJSjVZUMcoESiCMBikZg0UHlwmggxKc8YCrXAM" +
+ "7NgxaQ6eWDSlkkTpBsmXF3BEQVjEgkgEG5ECzd1IVWYYDocgHMkFRgafMsFWpRBb0uOVDI2eDJBw" +
+ "QFcZWDdYFaA5lPQELUVAgWjMJ4KSVXnGfmwo8MKSJx2ANKBAhw+hR6QGXxROEAGgXhzDINqhqMuH" +
+ "WnEXWizBYfAnJxiYyBpQpMTGmgrD7vRBiOSDE+w4Zq1YgXymRfFzHTkp9QHH6i2/foToSLwTgo30" +
+ "oYHDLq5sYUEAZZQRxyktUKYQAlcUdAkaaDjhB2eoeAaLEoREskogQvjgQgU1NFSCKkGV4sQAaWgi" +
+ "gy6wlEEEJ5HcoceNhQjiwEMl9DGWKSf04OIvG8jY4R1RFNIGJEBNNRB8cplSAgkeWMFDJolsAgEV" +
+ "qUAnHUJTICDbd2HwcksrTkYnEIRq0vXdSW44oAoSg8nkJpwElZAFacQ5SFuePvIpV2VxJXSFKnV+" +
+ "RxWfD80wQ5uD2hnlQDMQ0ISiiX5JqEBsAFCobIu6GRAAOw==" +
+ "";
+
+ blueIcon.printShadow =
+ "data:image/gif;base64,"+
+ "R0lGODlhMAAgAIAAAISChP///yH5BAEAAAEALAAAAAAwACAAAAI6jI+py+0Po5y02ouz3rz7D4bi" +
+ "SJbmiabqyrYd4CLwHNApjddobu96foIpeisey0g0IXWxkLD5bEqbBQA7" +
+ "";
+
+ blueIcon.transparent =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFDBcMOggD9MQAAARUSURBVFjD" +
+ "xZdbaBxVGIC/c3Z3dmdnJ91Nazdr1sZ6oUJT7dauGGz7IkiNSotCH6q1D2oFn/IifdO8iaBvweJj" +
+ "oSIiJSCFegEFKRZUkLaktxRDs9mkaTZ7md3ZmdmdnfFhQ2lI29h2k/zwP8w5B/7v/Lf5D77vs5xe" +
+ "uHBB/p9zD6KSZeTUqVNyYmKClZJlAcrlMqOjo2sHYNs24+PjawOwc2dWOraNdeYMQggpxHNSiB1S" +
+ "iKTsFIDwff+um4ffPSSf6d/Or9fWk+1/gq51cequYGa+yrX8LFfzBaZPfoLvz3gr4oH+/q38NXaD" +
+ "w2++zKZ0EqSk5UFE76JvSz8v7X2d7V/8SWjPp3JFAHp7e8nNOcyX60zOmuQLNlNFh3zZZcrwmKgK" +
+ "rFiS3teGCG376IEggvfa9FouthdjctagWLUxHDDcIAYBKqEA1YCKWWmhlB16ntzdWQ8IIaRjm3iR" +
+ "FLnZGvmCTb7cYNpwuW5AzlGYbYRp1GzUukm82aSjHjj0ztvMGzYovUwV6pRsn5wBphSwPgShGAHf" +
+ "I9KwSdTKWFapsx7IZLZz8d+buGiM52tcvm5iuhKiGmg6RFSUZgPNMtHrRa5eO91ZgHS6l/PjBpM3" +
+ "axQqLoTDEFZB1SCmE8An4ljEqwb16hj+5I9eR0PQcptMVcIkUgrCNxChFmgegXicSk839dkK0bpJ" +
+ "Sszzy9jYAzeiuwIYRo2GXWDu9y/xS2e925Mz8eJnZPe+gu1GuDhxCRIZlKffko3xk15HQnDw4EFZ" +
+ "NW3K57/xbjcOILd+TMnu5o/vfiYt/iY/F4JYnGbfPpTwRtkRgGw2S7VqLFmPPqpLL5gE4UEkwQ+/" +
+ "XYcuvZ2Y3Ztp7juO8shu+dAA6XSaXC63ZN1JHAGpg1eDVgXW9YEWhWgM1Cgkt9A8dJzg4Ih8KIBG" +
+ "o8Hc3Nzi2/co0g/EwTNBxCC8AaILxjW9rdEodKcID7xH4oOzsvvVr6V4bK+87yQslUqoqroYqvt9" +
+ "/GAK/CYEAqBpoC0Yjy6EQYsRcZtELBNVS6Jt3sPjPTvYNnhcWlYZy6lSNedpuEVct4V75YS3hO7A" +
+ "gQPScRwGBgYWe+DKMaQ7DTLUvvUt1dsgMZ0QEHEswg0b1bFQrRphq0o8lia14Vl2Pb+LXTu34dyY" +
+ "xr1ywrvjPDAyMiILhQLDw8N3LKlw5qhUNr1ALZJq375rHehdyFAIzTJRbQvNsVDrJppt8lQyhFGf" +
+ "QgkVGT02vGR2CN4pAc+dO3fXmDn/fO6JwEa5+Y2jNNU+CG5CiWtoAjSliSIKyMYNotEqXXGD7386" +
+ "TfPSaNvoVx8unwOO41AsFu+ZuX7rprf4zxmRsHHhK4fv+7f2v+XI/XXCQqFALBa7r2bi+3ZnRrL9" +
+ "+/dL27bJZDKsliwCGBwcpFarMTQ05K0JQDqdZmZmhtWURQCWZVGpVNYOoFQq4bruqgLcqgJd12U2" +
+ "m2UlH6L3fBkJIWS7pHxvNQH+A1CDKAII3hWoAAAAAElFTkSuQmCC" +
+ "";
+
+ blueIcon.iconSize = new GSize(32,32);
+ blueIcon.shadowSize = new GSize(48,32);
+ blueIcon.iconAnchor = new GPoint(4,32);
+ blueIcon.infoWindowAnchor = new GPoint(16,0);
+ blueIcon.imageMap = [9,0,9,1,9,2,9,3,13,4,16,5,17,6,18,7,18,8,18,9,18,10,18,11,17,
+ 12,17,13,18,14,19,15,20,16,21,17,24,18,30,19,29,20,27,21,24,22,20,23,5,24,5,
+ 25,4,26,4,27,4,28,4,29,4,30,3,31,2,31,2,30,3,29,3,28,3,27,3,26,3,25,4,24,4,
+ 23,4,22,4,21,4,20,5,19,5,18,5,17,5,16,5,15,6,14,6,13,6,12,6,11,6,10,6,9,7,
+ 8,7,7,7,6,7,5,7,4,8,3,8,2,8,1,9,0];
+
+ var redIcon = new GIcon();
+ redIcon.image =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFDBcGFC46EYEAAASQSURBVFjD" +
+ "xZdbbBRVGMf/57Lbod2dgXZrSzskaAg21GARXLek8YFYA2oIQcHUQKLGRI1oIPaNBy9vPhDjCyHx" +
+ "gfhmmihpMSSiD2pIqRCpklIuttRiL7Dtbju7szvXc44PbElBUgGX9ktOMvl/k3y/+W6ZA9yD9ff3" +
+ "r8ZDMvpfL3R3d68fHR19ackAcrncZz09PVgyANd1t46MjOQeFgBfyNne3m66rgvRaJ4E8EgCeIwC" +
+ "PA9MOMDVhw6wcuXKlJ0v4OXhoZGP9+7VGigFtW1kslkMpdMYzmS+O3z9+sE0cP5BAdhCzt27d79x" +
+ "deDC5s6mx3lNGKLCshDJ5aA7DlYDSBrG2u3V1e9K142d87wfyp4B0zSTl789BoQ+wnQacnYWolBA" +
+ "GARQSoFTitpoFO/reudUEAx3O86RsgJIpTbHp2fgBD6cXA6FIEBRKYSl1MUphR8EmBYCT2naobIC" +
+ "NDc3L3d9n6+yZjEeOLCUQlEpBFIiABCjFBKAV9IVUFnWEmzcuDE1M2vDQIihkMGSEpNhCBCCesZg" +
+ "UAqhFFylYEuJWSHOlRWgubk5OXrxAioJxR+eh4yUWEEpaimFQSmqKEUgJVyl4CiF0657oKyLqLGx" +
+ "sXV8YBCXwxCTQqCCEGiEIE4pVlAKKAUPQEFKjAvR+6vv/1LWDAilkvSvIdRyjhVKQSOkGI9EtERV" +
+ "Fa3jHDO5HDwAJBrFScs6X+5FxO2CXS3sQtdR3/v8byH65hwGsOnFmpqzr65ahXByEqc8D3Wcv9NG" +
+ "yLFTnneyLCXYs2dPyrEL6C4WOuYHB4BNmnaw4Dg4fPEipurqMGHbMCjFumj0+ycikTVlAWhpaUnm" +
+ "8/kcIUTO19dHIvUaITsUAI0x9Fy5Ar00EQ2c45VY7M9nKiqe/d8Apmm2jo2N9d6p1zJ2iBMCASBU" +
+ "CtWcwygBGJTiUc6x3zB+3q/rR3GPe+GuAEEQpKanp0/P157kvJoT8poAwJVCJSHQCYFBCHRKb516" +
+ "xrCjqur1LxOJwoeG8c3T0ejW+25Cy7LMeDx+Zr62nLE3lxECqRQ4ITe/mjEYc8+lo5SCA6CaMSQp" +
+ "3bk+Gt05HASwpOzLK3VmynXH84zV+Ep91et5g//KQEdHR4vrumhra7ut+aaFOOIqVWSEQGcMOqU3" +
+ "g88rAQHgAfCVQljakp5SqGcMTYyltpnmB8+vXbvNc90vej1v8K4ZSKVSyWw2Kzs7O2fn6xfC0M5K" +
+ "WbNJ047XUfpcJaWIz0FQiggAVyn4paCOEAiEQKKhAVNKwYvFvn7v7NlP0sClBUtgmmbrwMBA791K" +
+ "Mymle7xYbP+Nsaa3DOOAqKh4gWiaaSxbhgjn0JRCGkBBCIScXwp0/afD/f3Hf7TtE/fcA77vJ2dm" +
+ "Zk4s1DgTQlz6NJt9e66RKdAUA5aHQFgExgBMPPAmzGQy6wzD+Og+RllKYPBB/1pva8Jdu3atcV0X" +
+ "GzZs6MMi2W0AW7ZsSebzeezbt29sSQBM02y9cePG71hEo3dcQpKWZfUtGUAmk0lKKUcWE+DWFOi6" +
+ "vr2rqwvXrl3LYonMBDCVSCT4Ygb9B9fYD7KPxTs8AAAAAElFTkSuQmCC" +
+ "";
+
+ redIcon.shadow = "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAYAAABU1PscAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFDBcBFGF7h0YAAAEpSURBVFjD" +
+ "7Zc/S8RAEEffSiqLqyyvEhGr48orrC1ShnxMsRbxU1jIcZXFVWIhcoiIMDZRkpj9n1MDM7BFIAzv" +
+ "ZX+zbIyIMOU6YOKlAiqgAiqgAiqgAiqgAirwd1XkNjDGTHcHAuCX+4QXEUzqH1kAfA3cWXZ5A3zk" +
+ "wgNpAh74Q6AMaHPfrGT4pBnwwFcRsTxJEeh/8GJE+Dqi1S3wnAsfJeCAPwUWref3pu/QTlwDu9zY" +
+ "dLhCZsABXwOXltOtGiv3LkavgAP+DFgnRClKwsvntBuGvwBuMmeAnsQWeImFdwpY4CvgynKizIDj" +
+ "hHh/iTwArzHwVoEB+CPgLXAA543MUD0Bj7mx+fFye40QjezrQczywZ//Z/iOQK9Wv32rTIH/FuhV" +
+ "ORV4EeETEmkXA+M0hOsAAAAASUVORK5CYII=" +
+ "";
+
+ redIcon.printImage = "data:image/gif;base64,"+
+ "R0lGODlhIAAgAMYAAAQCBISGhHwODHx+fLQWFERCREQGBJQqLLQyNMzOzJwSFEw2PJyipNQaHGQO" +
+ "DCQmJDxeXCwGBJSSlIwSFLQuLFQWFJQ2NLxeXFQKDKQiJFxaXOQyNOxydGRmZAwODMQaHKQqLKwW" +
+ "FKyurOQmJGweJIwaHNxSVIyOjEQODKQaHHQODJSalJQSDGxiZOQ+PNxeXBQCBIyKjIQaHLwWFExO" +
+ "TEwGBJwqLKQSFKyqrNwiJDwCBMQqLGRiZISKjIQSFKSipNweHGQWFJQ+PFwKDGRaXOQ6POxWVJya" +
+ "nJQWFMwuLAwCBISGjHwSFLQaHERGREQKDJQuLMRCRPz+/JwWFFwyNNQeHGwODCwqLDQGBJSWlIwW" +
+ "FFwSFJQ6PKwiJFxeXOQ2NGxqbBQWFMwaHKwqLLSytOQuLORSVHQSFJSanJQSFORGROxiZBwCBLwa" +
+ "HFRWVEwKDJwuLKQWFDwGBMwmJKSmpFwODP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5" +
+ "BAEAAHYALAAAAAAgACAAAAf+gHaCg4MJhIeIiYpkIoqOj4M/PJCUiUcFlZmCThIQADAwSpqPXjEW" +
+ "Fy8mUSAyMKOIAUQca2ZqRRsbSQ6vhD9URi5lOUBAOSMNb7yCRyTCDR/QDWJtTMpXaBPTIdtNH20h" +
+ "PspePSxxaT5Mad0EcSrKMS1pKg4qE3EfMyFTWMp0C1ZDrKTr1iSOAGV2flRgIsCHli5z8qWQowxA" +
+ "ljdsBsHYQiFEEAwUX5WSQujJGwNQatRxEOHViQGEIrx5g+FJQHQhM+GYNMjAzDcBBdhrByDTDxqD" +
+ "ZM7E4EDolBDeFKjgBymLhkFyMNCkN+FpmxlNtsVhYsVBjSc5BWmIgSbpE6ZnKnywCNHmKwF9CtIo" +
+ "GHOAKiEJMAmxeRO3HIEPBAre2GvDgqtEIjokYsOkRJcdSZJQsAFHCApIdNw8AgBAiZKimbLwRJjI" +
+ "TYwsrBUdCRwbERnJtRHhuJr70ArevQV5KPAg+CDSYYwHAgA7";
+
+ redIcon.mozPrintImage = "data:image/gif;base64,"+
+ "R0lGODdhIAAgAOcAABQSFHx+fIQSFJRSVLwWFLSytEw2PIQ2NJSWlKQSFEwKDORGRMwuLFwyNMzO" +
+ "zGwODKSmpJx6fIxubNQaHJwqLKQiJJQSDHROTFwKDISKjLQuLNza3MTCxNxeXOQuLLxeXMQqLIw+" +
+ "PLSipLQWFGweJLSmpGRaXJR+fJxWVKSipNzW1HwODKRmZNwiJJwSFFwSFOQ6PISGhIQaHMwaHLy6" +
+ "vJyanKQaHEwSFNxSVNTW1KQqLEQGBIwSFMQaHHRCRJQuLJSalKwWFNTOzHQODKyurKSKjJxqbNwe" +
+ "HJQWFHxWVGQODJSSlOTi5MzKzOxydOQ2NJQ+PLSurHxeXJxeXOxWVISChKRKTLwaHLS2tERCRKQW" +
+ "FFQKDMRCRKyqrLSChNQeHKwiJJQSFHxSVFwODIyOjLQyNNze3MTGxOxiZOQyNMwmJLQaHLSqrGxi" +
+ "ZKRaXHwSFKxydOQmJJwWFGQWFOQ+PISGjMS+vFQWFORSVKwqLEQKDIwWFJwuLJSanNTS1HQSFJxu" +
+ "bJRCRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAIAAgAAAI/gCZMDEj" +
+ "kOBAgwgLKhy4kGBChhscPJzYUOFELF0YaqS4USBDhwJrQPjYsSTHgg4QOHBQIAqHiiY1ymSCpU6g" +
+ "Dx1wcNGBggZHgwWBOiRiwgkaPAtgpHnCAJDHpx6BzmRCpAEVOh7iHDnSIs6XIiBBWiRJEAKJNHFm" +
+ "9Fg7YcYaGVOlLhSYA4iAGQRGBNEyoseVEW/IjhVLkEYGC1rCvBEQZk2PEVoOPCU8OSqWNjxWKBnC" +
+ "Q4vfIHLYHBwrUyoWAw8wPHjT+LEWKCVhJoRw480bGUjAqCEQxIaUimGjRgWSpADDAi/KBJmzpURC" +
+ "uRPPZCB5QcGOHwowKHkpVWxDGjEQ4ApRoGCLHgxDBLyJQpI0UPAak5DPvrpzkCk5hJcuSASIQz96" +
+ "kLfFZjzIEcQVPcgxAATPNYQADQydsEV5BLpwYF5B7PVGCBJEIMEZYp1BhhkG5XDDgOlZcOBja4Am" +
+ "BxIW5OFGEw9xEIBYKviQohaOjbCGFgm4kAcFcNghnEM2HsmEHSz8AAYIDDCgAQVWeCFCcAv1B91H" +
+ "NERBRBNxlYQAFoLF9NFDDDlARn6xUSRURWcEsB9lDdLJRJxzvalfR29isUSdbbaXZw0pyBXTm8ER" +
+ "lEIWCJSppKDRAUBiZd6ZiVBAADs=";
+
+ redIcon.printShadow = "data:image/gif;base64,"+
+ "R0lGODlhMAAgAIAAAISChP///yH5BAEAAAEALAAAAAAwACAAAAI5jI+py+0Po5y02ouz3rz7D4bi" +
+ "SJbmiabqyrYd4CLwHNApjddobu96foIpeisey0g0IXWxkLAJjUYLADs=";
+
+ redIcon.transparent = "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A" +
+ "/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kFDBcBLT5+D04AAAQkSURBVFjD" +
+ "xZdNbFVFFIC/Off29VL63m2htaW9LNwQI1VBGtIFblg0MW5INJgQ2LmykmhwrysW7kUSFm5c+/OW" +
+ "ulSiCYvGpEIgkNKmpZS+1/b99c199945LmgbahEKPtuTnGQyM8n55vzNDKrK83RyclJ2su9lVHiO" +
+ "FItFmZmZ4f+S5wJUq1WKxeLeAVhrmZ6e3huA8fFxsdaSDUcYY6TfGBkwRrqMkXYB+M9aPHToEPVa" +
+ "g/fv3eXLCxcYEkHqdcrLy3w3MiL3ymWuPHzIoqp7WQCjqv+6ePnyZZmeuslXg6+QVKu4lRVctYo2" +
+ "Gmgc44swby1XZ2e5Vqm4tnsgiiJuf/8DpC3SR49wq6tkjQZpkqCq+CL053JcLBQ409UlP66tubYC" +
+ "OFXypRWaSYtmtUojSVhTJQU8IC9CK0koZRlvB0F7k3BkZERsq8XhyirzpRLTccz9LGM+TZlLU8rO" +
+ "UXGOVedYU0XbnYQnTpxgZbVOSMrd1KPiHAtpCsYw6HmEImSqWFXqzrGaZe0FOHr0KDO3/qLLCH/G" +
+ "MWXn6BWhX4RQhP0iJM5hVWmq8ru17Q3B8PAw81M3uZ2mLGQZncYQGENehF4RUCUGGs4xn2X8Eceu" +
+ "rQCZKnL/Lv2+T+T7DHgeB3I5+vJ5BvJ5EueIVTG5HD83Gu1tRMYY+frqN2T1Bt+2YmbTdPN0PcbI" +
+ "ewcP8uHhw6QLC/wWxwz4Pu8EgfxqrWuLB86fP0+z3uCntcYW4wCjQUCj2eTKrVssDQzwoF4nFOH1" +
+ "XI43cjlpC8CxY8eo1WoAW4y/lctJYAwKBJ5H8c4dCusVMeT7fNDdzVgQyH8GiKKIubm5bfP9nodv" +
+ "DBmQqnLA9wnXAUIRXvV9Pg1DPgtDMTu8sJ66KUkSSqXSVq90dMiGcV+VLmMoGENoDAWRTR30PM7s" +
+ "38+1vj4+7+mRk52d8sJJWKlUyOfzW+Z6PI99xuBU8Y15fGrPI9wYr6uq0gQOeB4nRXgzl+OL3l6p" +
+ "OEdNlSVrqXkeLVWuW+u20Z07d06stZw6dWrLfCnLsKp4xlDwPAoij40/EQIDxEBLlXS9S8aqDHoe" +
+ "r3ke70YR40eOEFvL9fWK2eaBsbExlpeXuXTp0pYEnEoSN+R5MhoEDIjQJUJ+A0KEDsCq0lo32swy" +
+ "kiyjb2iIJVXi7m4mbtxgUdV98qwQRFHE1NTUU+P1IMscwLDvy0dhSNbZiQkCwn376PB9AlUeAY0s" +
+ "I/V9kkKBK5OT/FKrOYCLO8mBVqvFysrKMzN3/oneYIwRAbqBFFgD9IkX0scv2gnL5TJhGO64jvU/" +
+ "PMe2leHZs2fFWsvx48fZLdkCcPr0aWq1GhMTE25PAKIoYnFxkd0U+ecnpFKp7B1AuVzGOberAJtV" +
+ "EIahjI6OMjs7u6sAmx+Tjdurr6+PpaWlXXPD3/FDQDWrWIGPAAAAAElFTkSuQmCC";
+
+ redIcon.iconSize = new GSize(32,32);
+ redIcon.shadowSize = new GSize(48,32);
+ redIcon.iconAnchor = new GPoint(4,32);
+ redIcon.infoWindowAnchor = new GPoint(16,0);
+ redIcon.imageMap = [9,0,9,1,9,2,9,3,13,4,16,5,17,6,18,7,18,8,18,9,18,10,18,11,17,
+ 12,17,13,18,14,19,15,20,16,21,17,24,18,30,19,29,20,27,21,24,22,20,23,5,24,5,25,
+ 4,26,4,27,4,28,4,29,4,30,3,31,2,31,2,30,3,29,3,28,3,27,3,26,3,25,4,24,4,23,4,
+ 22,4,21,4,20,5,19,5,18,5,17,5,16,5,15,6,14,6,13,6,12,6,11,6,10,6,9,7,8,7,7,7,
+ 6,7,5,7,4,8,3,8,2,8,1,9,0];
+
+
+ function MarkerHandler(t, i) {
+ this.type = t;
+ this.number = i;
+ }
+
+ MarkerHandler.prototype.clicked = function () {
+ mclicker.clickedX(this.type, this.number);
+ }
+
+ function RTPolyline(l, stp, enp, ckobj) {
+ var s = new GMarker(stp, {title:nm,icon:greenDotIcon});
+ var e = new GMarker(enp, {title:nm,icon:redDotIcon});
+
+ this.line = l;
+ this.start = s;
+ this.end = e;
+ GEvent.bind(this.line, "click", ckobj, ckobj.clicked);
+ GEvent.bind(this.start, "click", ckobj, ckobj.clicked);
+ GEvent.bind(this.end, "click", ckobj, ckobj.clicked);
+ map.addOverlay(l);
+ map.addOverlay(s);
+ map.addOverlay(e);
+ }
+
+ RTPolyline.prototype.hide = function () {
+ this.line.hide();
+ this.start.hide();
+ this.end.hide();
+ }
+
+ RTPolyline.prototype.show = function () {
+ this.line.show();
+ this.start.show();
+ this.end.show();
+ }
+ RTPolyline.prototype.getBounds = function () {
+ return this.line.getBounds();
+ }
+
+
+ function load() {
+ if (GBrowserIsCompatible()) {
+ //var map = new GMap2(document.getElementById("map"));
+ //map.setCenter( new GLatLng(0,0), 2 );
+ //var mgr = new MarkerManager(map);
+ }
+ }
+
+
+ </script>
+ </head>
+
+ <body style="height:100%; -khtml-user-select:none;" onload="load()" onunload="GUnload()" topmargin="0" leftmargin="0">
+ <div id="map" style="width:100% ; height:100%"></div>
+ </body>
+</html>
--- /dev/null
+// -*- C++ -*-
+// $Id: gmapdlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#include <QStandardItemModel>
+#include <QMenu>
+#include <QHeaderView>
+#include "gmapdlg.h"
+#include "appname.h"
+#include "gpx.h"
+
+//------------------------------------------------------------------------
+class StandardItem: public QStandardItem
+{
+ public:
+ StandardItem(const QString &text): QStandardItem(text)
+ {
+ this->setEditable(false);
+ }
+};
+
+//------------------------------------------------------------------------
+class TreeAction: public QAction
+{
+public:
+ TreeAction(const QString &text,
+ QObject *obj, const char *member, QObject *parent): QAction(text, parent)
+ {
+ connect(this, SIGNAL(triggered()), obj, member);
+ }
+};
+//------------------------------------------------------------------------
+QString GMapDialog::formatLength(double l)
+{
+ double metricLength = l;
+ QString metricUnit = tr("meters");
+ int metricPrecision = 2;
+ if (l > 1000.0) {
+ metricLength = l/1000.0;
+ metricUnit = "km";
+ metricPrecision = 3;
+ }
+
+ double fpsLength = l*1000.0/25.4/12.0;
+ QString fpsUnit = tr("feet");
+ int fpsPrecision = 1;
+ if (fpsLength >5280.0) {
+ fpsLength /= 5280.0;
+ fpsUnit = tr("miles");
+ fpsPrecision = 3;
+ }
+ return QString(tr("Length: %1 %2\n %3 %4")
+ .arg(metricLength, 0, 'f', metricPrecision)
+ .arg(metricUnit)
+ .arg(fpsLength, 0, 'f', fpsPrecision)
+ .arg(fpsUnit));
+
+}
+//------------------------------------------------------------------------
+void GMapDialog::appendWaypointInfo(QStandardItem *it, const GpxWaypoint &wpt)
+{
+ it->appendRow(new StandardItem(tr("Lat: %1").arg(wpt.getLocation().lat(), 0, 'f', 7)));
+ it->appendRow(new StandardItem(tr("Lng: %1").arg(wpt.getLocation().lng(), 0, 'f', 7)));
+ if (wpt.getDescription() != QString())
+ it->appendRow(new StandardItem(tr("Desc: %1").arg(wpt.getDescription())));
+ if (wpt.getComment() != QString() && wpt.getComment() != wpt.getDescription())
+ it->appendRow(new StandardItem(tr("Cmt: %1").arg(wpt.getComment())));
+ if (wpt.getElevation() > -50000)
+ it->appendRow(new StandardItem(tr("Ele: %1").arg(wpt.getElevation())));
+
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::appendTrackInfo(QStandardItem *it, const GpxTrack &trk)
+{
+ QDateTime startTime, stopTime;
+ bool first = true;
+ int count = 0;
+ foreach (const GpxTrackSegment &seg, trk.getTrackSegments()) {
+ foreach (const GpxTrackPoint &pt, seg.getTrackPoints()) {
+ count++;
+ QDateTime t = pt.getDateTime();
+ if (!t.isValid())
+ continue;
+ if (first) {
+ startTime = t;
+ stopTime = t;
+ first = false;
+ }
+ else {
+ if (t < startTime)
+ startTime = t;
+ if (t > stopTime)
+ stopTime = t;
+ }
+ }
+ }
+ if (startTime.isValid()) {
+ it->appendRow(new StandardItem(tr("Start: %1")
+ .arg(startTime.toString("yyyy-MMM-dd HH:mm:ss"))));
+ it->appendRow(new StandardItem(tr("Stop: %1")
+ .arg(stopTime.toString("yyyy-MMM-dd HH:mm:ss"))));
+ }
+ it->appendRow(new StandardItem(tr("Points: %1").arg(count)));
+
+ it->appendRow(new StandardItem(formatLength(trk.length())));
+
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::appendRouteInfo(QStandardItem *it, const GpxRoute &rte)
+{
+ it->appendRow(new StandardItem(formatLength(rte.length())));
+}
+
+//------------------------------------------------------------------------
+GMapDialog::GMapDialog(QWidget *parent, const QString &gpxFileName, QPlainTextEdit *te): QDialog(parent)
+{
+ ui.setupUi(this);
+ this->setWindowTitle(QString(appName) + " " + QString("Google Maps"));
+ gpx.read(gpxFileName);
+
+ mapWidget = new Map(this, gpx, te);
+ QHBoxLayout *lay = new QHBoxLayout(ui.frame);
+ lay->setContentsMargins(0, 0, 0, 0);
+ lay->addWidget(mapWidget);
+
+ model = new QStandardItemModel(this);
+
+ wptItem = new StandardItem(tr("Waypoints"));
+ wptItem->setCheckable(true);
+ wptItem->setCheckState(Qt::Checked);
+ model->appendRow(wptItem);
+ for (int i=0; i<gpx.getWaypoints().size(); i++) {
+ GpxWaypoint &wpt = gpx.getWaypoints()[i];
+ QStandardItem *it = new StandardItem(wpt.getName());
+ wptItem->appendRow(it);
+ it->setCheckable(true);
+ it->setCheckState(Qt::Checked);
+ it->setData(qVariantFromValue((void *)&wpt));
+ appendWaypointInfo(it, wpt);
+ wptList << it;
+ }
+
+ trkItem = new StandardItem(tr("Tracks"));
+ trkItem->setCheckable(true);
+ trkItem->setCheckState(Qt::Checked);
+ model->appendRow(trkItem);
+ for (int i=0; i<gpx.getTracks().size(); i++) {
+ GpxTrack &trk = gpx.getTracks()[i];
+ QStandardItem *it = new StandardItem(trk.getName());
+ trkItem->appendRow(it);
+ it->setCheckable(true);
+ it->setCheckState(Qt::Checked);
+ it->setData(qVariantFromValue((void *)&trk));
+ appendTrackInfo(it, trk);
+ trkList << it;
+ }
+
+ rteItem = new StandardItem(tr("Routes"));
+ rteItem->setCheckable(true);
+ rteItem->setCheckState(Qt::Checked);
+ model->appendRow(rteItem);
+ for (int i=0; i<gpx.getRoutes().size(); i++) {
+ GpxRoute &rte = gpx.getRoutes()[i];
+ QStandardItem *it = new StandardItem(rte.getName());
+ rteItem->appendRow(it);
+ it->setCheckable(true);
+ it->setCheckState(Qt::Checked);
+ it->setData(qVariantFromValue((void *)&rte));
+ appendRouteInfo(it, rte);
+ rteList << it;
+ }
+
+ ui.treeView->header()->hide();
+ ui.treeView->setModel(model);
+ ui.treeView->setExpandsOnDoubleClick(false);
+ connect(model, SIGNAL(itemChanged(QStandardItem *)),
+ this, SLOT(itemChangedX(QStandardItem *)));
+ connect(mapWidget, SIGNAL(waypointClicked(int)), this, SLOT(waypointClickedX(int)));
+ connect(mapWidget, SIGNAL(routeClicked(int)), this, SLOT(routeClickedX(int)));
+ connect(mapWidget, SIGNAL(trackClicked(int)), this, SLOT(trackClickedX(int)));
+ connect(ui.treeView, SIGNAL(doubleClicked(const QModelIndex &)),
+ this, SLOT(treeDoubleClicked(const QModelIndex&)));
+ connect(ui.treeView->selectionModel(), SIGNAL(selectionChanged (const QItemSelection &, const QItemSelection &)),
+ this, SLOT(selectionChangedX(const QItemSelection &, const QItemSelection &)));
+
+ ui.treeView->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(ui.treeView, SIGNAL(customContextMenuRequested(const QPoint &)),
+ this, SLOT(showContextMenu(const QPoint &)));
+
+
+}
+
+//-------------------------------------------------------------------------
+void GMapDialog::itemChangedX(QStandardItem *it)
+{
+ bool show = (it->checkState() == Qt::Checked);
+ if (it == trkItem) {
+ if (show)
+ mapWidget->showTracks(gpx.getTracks());
+ else
+ mapWidget->hideAllTracks();
+ }
+
+ else if (it == wptItem) {
+ if (show)
+ mapWidget->showWaypoints(gpx.getWaypoints());
+ else
+ mapWidget->hideAllWaypoints();
+ }
+
+ else if (it == rteItem) {
+ if (show)
+ mapWidget->showRoutes(gpx.getRoutes());
+ else
+ mapWidget->hideAllRoutes();
+ }
+
+ else {
+ // Individual items, find the right one.
+ GpxItem *git = static_cast<GpxItem *>(it->data().value<void *>());
+ if (git != 0) {
+ git->setVisible(show);
+ for (int i=0; i<gpx.getWaypoints().size(); i++) {
+ if (&gpx.getWaypoints()[i] == git) {
+ mapWidget->setWaypointVisibility(i, show);
+ }
+ }
+ for (int i=0; i<gpx.getTracks().size(); i++) {
+ if (&gpx.getTracks()[i] == git) {
+ mapWidget->setTrackVisibility(i, show);
+ }
+ }
+ for (int i=0; i<gpx.getRoutes().size(); i++) {
+ if (&gpx.getRoutes()[i] == git) {
+ mapWidget->setRouteVisibility(i, show);
+ }
+ }
+ }
+ }
+}
+
+//-------------------------------------------------------------------------
+int GMapDialog::waypointIndex(QStandardItem *it)
+{
+ for (int j=0; j<wptList.size(); j++){
+ if (it == wptList[j])
+ return j;
+ }
+ return -1;
+}
+
+//-------------------------------------------------------------------------
+int GMapDialog::trackIndex(QStandardItem *it)
+{
+ for (int j=0; j<trkList.size(); j++){
+ if (it == trkList[j])
+ return j;
+ }
+ return -1;
+}
+
+//-------------------------------------------------------------------------
+int GMapDialog::routeIndex(QStandardItem *it)
+{
+ for (int j=0; j<rteList.size(); j++){
+ if (it == rteList[j])
+ return j;
+ }
+ return -1;
+}
+
+//-------------------------------------------------------------------------
+void GMapDialog::treeDoubleClicked(const QModelIndex &idx)
+{
+ QStandardItem *it = model->itemFromIndex(idx);
+ int i = waypointIndex(it);
+ if (i >= 0) {
+ it->setCheckState(Qt::Checked);
+ gpx.getWaypoints()[i].setVisible(true);
+ mapWidget->panTo(gpx.getWaypoints()[i].getLocation());
+ mapWidget->setWaypointVisibility(i, true);
+ return;
+ }
+ i = trackIndex(it);
+ if (i >= 0) {
+ mapWidget->frameTrack(i);
+ it->setCheckState(Qt::Checked);
+ gpx.getTracks()[i].setVisible(true);
+ mapWidget->setTrackVisibility(i, true);
+ return;
+ }
+ i = routeIndex(it);
+ if (i >= 0) {
+ mapWidget->frameRoute(i);
+ it->setCheckState(Qt::Checked);
+ gpx.getRoutes()[i].setVisible(true);
+ mapWidget->setRouteVisibility(i, true);
+ return;
+ }
+}
+
+//-------------------------------------------------------------------------
+void GMapDialog::waypointClickedX(int i)
+{
+ if (i>=0 && i < wptList.size()) {
+ QStandardItem *it = wptList[i];
+ QModelIndex idx = model->indexFromItem(it);
+ ui.treeView->scrollTo(idx, QAbstractItemView::PositionAtCenter);
+ ui.treeView->selectionModel()->select(idx, QItemSelectionModel::ClearAndSelect);
+ }
+}
+//-------------------------------------------------------------------------
+void GMapDialog::trackClickedX(int i)
+{
+ if (i>=0 && i <trkList.size()) {
+ QStandardItem *it = trkList[i];
+ QModelIndex idx = model->indexFromItem(it);
+ ui.treeView->scrollTo(idx, QAbstractItemView::PositionAtCenter);
+ ui.treeView->selectionModel()->select(idx, QItemSelectionModel::ClearAndSelect);
+ }
+}
+
+//-------------------------------------------------------------------------
+void GMapDialog::routeClickedX(int i)
+{
+ if (i>=0 && i <rteList.size()) {
+ QStandardItem *it = rteList[i];
+ QModelIndex idx = model->indexFromItem(it);
+ ui.treeView->scrollTo(idx, QAbstractItemView::PositionAtCenter);
+ ui.treeView->selectionModel()->select(idx, QItemSelectionModel::ClearAndSelect);
+ }
+}
+
+//-------------------------------------------------------------------------
+void GMapDialog::selectionChangedX (const QItemSelection &sel, const QItemSelection &desel)
+{
+ int k=0;
+ foreach (QStandardItem*w, wptList) {
+ QModelIndex idx = model->indexFromItem(w);
+ if (desel.contains(idx))
+ mapWidget->setWaypointColorBlue(k);
+ if (sel.contains(idx))
+ mapWidget->setWaypointColorRed(k);
+ k++;
+ }
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::expandCollapseAll(const QList<QStandardItem *> &li,
+ QStandardItem *top, bool exp)
+{
+ ui.treeView->setExpanded(model->indexFromItem(top), exp);
+ foreach (QStandardItem*it, li) {
+ QModelIndex idx = model->indexFromItem(it);
+ ui.treeView->setExpanded(idx, exp);
+ }
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::expandAllWaypoints()
+{
+ expandCollapseAll(wptList, wptItem, true);
+}
+//------------------------------------------------------------------------
+void GMapDialog::expandAllTracks()
+{
+ expandCollapseAll(trkList, trkItem, true);
+}
+//------------------------------------------------------------------------
+void GMapDialog::expandAllRoutes()
+{
+ expandCollapseAll(rteList, rteItem, true);
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::collapseAllWaypoints()
+{
+ expandCollapseAll(wptList, wptItem,false);
+}
+//------------------------------------------------------------------------
+void GMapDialog::collapseAllTracks()
+{
+ expandCollapseAll(trkList, trkItem,false);
+}
+//------------------------------------------------------------------------
+void GMapDialog::collapseAllRoutes()
+{
+ expandCollapseAll(rteList, rteItem,false);
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::checkUncheckAll(const QList<QStandardItem *> &li,
+ QStandardItem *top, bool ck)
+{
+ top->setCheckState(ck ? Qt::Checked: Qt::Unchecked);
+ foreach (QStandardItem*it, li) {
+ it->setCheckState(ck ? Qt::Checked: Qt::Unchecked);
+ }
+}
+//------------------------------------------------------------------------
+void GMapDialog::showAllWaypoints()
+{
+ foreach (GpxWaypoint wpt, gpx.getWaypoints())
+ wpt.setVisible(true);
+ checkUncheckAll(wptList, wptItem, true);
+ mapWidget->showWaypoints(gpx.getWaypoints());
+}
+//------------------------------------------------------------------------
+void GMapDialog::showAllTracks()
+{
+ foreach (GpxTrack trk, gpx.getTracks())
+ trk.setVisible(true);
+ checkUncheckAll(trkList, trkItem, true);
+ mapWidget->showTracks(gpx.getTracks());
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::showAllRoutes()
+{
+ foreach (GpxRoute rte, gpx.getRoutes())
+ rte.setVisible(true);
+ checkUncheckAll(rteList, rteItem, true);
+ mapWidget->showRoutes(gpx.getRoutes());
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::hideAllWaypoints()
+{
+ foreach (GpxWaypoint wpt, gpx.getWaypoints())
+ wpt.setVisible(false);
+ checkUncheckAll(wptList, wptItem, false);
+ mapWidget->showWaypoints(gpx.getWaypoints());
+}
+//------------------------------------------------------------------------
+void GMapDialog::hideAllTracks()
+{
+ foreach (GpxTrack trk, gpx.getTracks())
+ trk.setVisible(false);
+ checkUncheckAll(trkList, trkItem, false);
+ mapWidget->showTracks(gpx.getTracks());
+
+}
+//------------------------------------------------------------------------
+void GMapDialog::hideAllRoutes()
+{
+ foreach (GpxRoute rte, gpx.getRoutes())
+ rte.setVisible(false);
+ checkUncheckAll(rteList, rteItem, false);
+ mapWidget->showRoutes(gpx.getRoutes());
+
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::showOnlyThisWaypoint()
+{
+ QList <GpxWaypoint> &tlist = gpx.getWaypoints();
+ for (int i=0; i<tlist.size(); i++) {
+ tlist[i].setVisible(i == menuIndex? true: false);
+ trkList[i]->setCheckState(i==menuIndex? Qt::Checked: Qt::Unchecked);
+ }
+ wptItem->setCheckState(Qt::Checked);
+ mapWidget->showWaypoints(gpx.getWaypoints());
+}
+//------------------------------------------------------------------------
+void GMapDialog::showOnlyThisTrack()
+{
+ QList <GpxTrack> &tlist = gpx.getTracks();
+ for (int i=0; i<tlist.size(); i++) {
+ tlist[i].setVisible(i == menuIndex? true: false);
+ trkList[i]->setCheckState(i==menuIndex? Qt::Checked: Qt::Unchecked);
+ }
+ trkItem->setCheckState(Qt::Checked);
+ mapWidget->showTracks(gpx.getTracks());
+
+}
+//------------------------------------------------------------------------
+void GMapDialog::showOnlyThisRoute()
+{
+ QList <GpxRoute> &rlist = gpx.getRoutes();
+ for (int i=0; i<rlist.size(); i++) {
+ rlist[i].setVisible(i == menuIndex? true: false);
+ rteList[i]->setCheckState(i==menuIndex? Qt::Checked: Qt::Unchecked);
+ }
+ rteItem->setCheckState(Qt::Checked);
+ mapWidget->showRoutes(gpx.getRoutes());
+
+}
+
+//------------------------------------------------------------------------
+void GMapDialog::showContextMenu(const QPoint &pt)
+{
+ QModelIndex idx = ui.treeView->indexAt(pt);
+ QStandardItem *it = model->itemFromIndex(idx);
+ int j;
+ if (model->indexFromItem(wptItem) == idx) {
+ QMenu menu(this);
+ menu.addAction(new TreeAction(tr("Show All Waypoints"), this, SLOT(showAllWaypoints()), &menu));
+ menu.addAction(new TreeAction(tr("Hide All Waypoints"), this, SLOT(hideAllWaypoints()),&menu));
+ menu.addAction(new TreeAction(tr("Expand All"), this, SLOT(expandAllWaypoints()),&menu));
+ menu.addAction(new TreeAction(tr("Collapse All"), this, SLOT(collapseAllWaypoints()),&menu));
+ menu.exec(ui.treeView->mapToGlobal(pt));
+ }
+ else if (model->indexFromItem(rteItem) == idx) {
+ QMenu menu(this);
+ menu.addAction(new TreeAction(tr("Show All Routes"), this, SLOT(showAllRoutes()), &menu));
+ menu.addAction(new TreeAction(tr("Hide All Routes"), this, SLOT(hideAllRoutes()),&menu));
+ menu.addAction(new TreeAction(tr("Expand All"), this, SLOT(expandAllRoutes()),&menu));
+ menu.addAction(new TreeAction(tr("Collapse All"), this, SLOT(collapseAllRoutes()),&menu));
+ menu.exec(ui.treeView->mapToGlobal(pt));
+ }
+ else if (model->indexFromItem(trkItem) == idx) {
+ QMenu menu(this);
+ menu.addAction(new TreeAction(tr("Show All Tracks"), this, SLOT(showAllTracks()), &menu));
+ menu.addAction(new TreeAction(tr("Hide All Tracks"), this, SLOT(hideAllTracks()),&menu));
+ menu.addAction(new TreeAction(tr("Expand All"), this, SLOT(expandAllTracks()),&menu));
+ menu.addAction(new TreeAction(tr("Collapse All"), this, SLOT(collapseAllTracks()),&menu));
+ menu.exec(ui.treeView->mapToGlobal(pt));
+ }
+ else if ((j = waypointIndex(it)) >=0) {
+ QMenu menu(this);
+ menu.addAction(new TreeAction(tr("Show Only This Waypoint"), this, SLOT(showOnlyThisWaypoint()), &menu));
+ menuIndex = j;
+ menu.exec(ui.treeView->mapToGlobal(pt));
+ }
+ else if ((j = trackIndex(it)) >=0) {
+ QMenu menu(this);
+ menu.addAction(new TreeAction(tr("Show Only This Track"), this, SLOT(showOnlyThisTrack()), &menu));
+ menuIndex = j;
+ menu.exec(ui.treeView->mapToGlobal(pt));
+ }
+ else if ((j = routeIndex(it)) >=0) {
+ QMenu menu(this);
+ menu.addAction(new TreeAction(tr("Show Only This Route"), this, SLOT(showOnlyThisRoute()), &menu));
+ menuIndex = j;
+ menu.exec(ui.treeView->mapToGlobal(pt));
+ }
+ else {
+ }
+}
+
--- /dev/null
+// -*- C++ -*-
+// $Id: gmapdlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef GMAPDLG_H
+#define GMAPDLG_H
+
+#include <QStackedWidget>
+#include <QStandardItem>
+#include <QModelIndex>
+#include "ui_gmapui.h"
+#include "gpx.h"
+#include "map.h"
+
+class GMapDialog: public QDialog
+{
+Q_OBJECT
+ public:
+ GMapDialog(QWidget *parent, const QString &gpxFileName, QPlainTextEdit *te);
+
+ private:
+ Ui_GMapDlg ui;
+ Map *mapWidget;
+ bool showWaypoints, showRoutes, showTracks;
+ QStandardItemModel *model;
+ QStandardItem *wptItem, *trkItem, *rteItem;
+ QList<QStandardItem *> wptList, trkList, rteList;
+ Gpx gpx;
+
+ void appendWaypointInfo(QStandardItem *it, const GpxWaypoint &wpt);
+ void appendTrackInfo(QStandardItem *it, const GpxTrack &trk);
+ void appendRouteInfo(QStandardItem *it, const GpxRoute &rte);
+
+ int waypointIndex(QStandardItem *it);
+ int trackIndex(QStandardItem *it);
+ int routeIndex(QStandardItem *it);
+ QString formatLength(double l);
+
+ int menuIndex;
+
+ //
+private slots:
+ void itemChangedX(QStandardItem *);
+ void waypointClickedX(int i);
+ void trackClickedX(int i);
+ void routeClickedX(int i);
+ void treeDoubleClicked(const QModelIndex &idx);
+ void selectionChangedX (const QItemSelection &, const QItemSelection &);
+ void showContextMenu(const QPoint &);
+
+
+ void expandCollapseAll(const QList<QStandardItem *> &li,
+ QStandardItem *it, bool exp);
+ void checkUncheckAll(const QList<QStandardItem *> &li,
+ QStandardItem *it, bool exp);
+ void expandAllWaypoints();
+ void expandAllTracks();
+ void expandAllRoutes();
+
+ void collapseAllWaypoints();
+ void collapseAllTracks();
+ void collapseAllRoutes();
+
+ void hideAllWaypoints();
+ void hideAllTracks();
+ void hideAllRoutes();
+
+ void showAllWaypoints();
+ void showAllTracks();
+ void showAllRoutes();
+
+ void showOnlyThisWaypoint();
+ void showOnlyThisTrack();
+ void showOnlyThisRoute();
+};
+
+#endif
--- /dev/null
+<ui version="4.0" >
+ <class>GMapDlg</class>
+ <widget class="QDialog" name="GMapDlg" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>879</width>
+ <height>668</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Dialog</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QSplitter" name="splitter" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QTreeView" name="treeView" />
+ <widget class="QFrame" name="frame" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>10</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Close</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>GMapDlg</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>GMapDlg</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de_DE">
+<context>
+ <name></name>
+ <message>
+ <source></source>
+ <translation>Project-Id-Version: GPSBabel command line program
+POT-Creation-Date: 2005-11-19 01:14
+PO-Revision-Date: 2008-04-26 21:18+0100
+Last-Translator: oliskoli <o.b.klein@gpsbabel.org>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+X-Generator: dxgettext 1.2.1
+Language-Team: <o.b.klein@gpsbabel.org>
+X-Poedit-SourceCharset: iso-8859-1
+X-Poedit-Language: German
+X-Poedit-Country: GERMANY
+</translation>
+ </message>
+ <message>
+ <source>(integer sec or 'auto') Barograph to GPS time diff</source>
+ <translation>Zeitdifferent zwischen Barograph und GPS (ganzz. Sekunden oder 'auto')</translation>
+ </message>
+ <message>
+ <source>(USR input) Break segments into separate tracks</source>
+ <translation>USR Eingabe: Segmente in seperate Tracks aufteilen</translation>
+ </message>
+ <message>
+ <source>(USR output) Merge into one segmented track</source>
+ <translation>USR-Ausgabe: zu einem segmentierten Track zusammenfassen</translation>
+ </message>
+ <message>
+ <source>Ad-hoc closed icon name</source>
+ <translation>Icon allgemein für "geschlossen"</translation>
+ </message>
+ <message>
+ <source>Ad-hoc open icon name</source>
+ <translation>Icon allgemein für "offen"</translation>
+ </message>
+ <message>
+ <source>After output job done sleep n second(s)</source>
+ <translation>Pausiere im Anschluß n sekunde(n)</translation>
+ </message>
+ <message>
+ <source>Allow whitespace synth. shortnames</source>
+ <translation>Erlaube Leerzeichen in Kurznamen</translation>
+ </message>
+ <message>
+ <source>Altitudes are absolute and not clamped to ground</source>
+ <translation>Absolute Höhenangaben (nicht bodenverbunden)</translation>
+ </message>
+ <message>
+ <source>Append icon_descr to description</source>
+ <translation>Erweitere Beschreibung um Symbolbeschreibung</translation>
+ </message>
+ <message>
+ <source>Append realtime positioning data to the output file instead of truncating</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Base URL for link tag in output</source>
+ <translation>Basis-URL für Verknüpfungseintrag </translation>
+ </message>
+ <message>
+ <source>Basename prepended to URL on output</source>
+ <translation>Basis-Adresse für erzeugte URL's</translation>
+ </message>
+ <message>
+ <source>Bitmap of categories</source>
+ <translation>Mehrfachkategorie, als Dezimal- oder Hexadezimalwert</translation>
+ </message>
+ <message>
+ <source>Category name (Cache)</source>
+ <translation>Kategoriename (Cache)</translation>
+ </message>
+ <message>
+ <source>Category number to use for written waypoints</source>
+ <translation>Benutze Kategorie # beim Schreiben von Wegpunkten (1..16)</translation>
+ </message>
+ <message>
+ <source>Color for lines or mapnotes</source>
+ <translation>Farbe für Linien oder Kartenangaben</translation>
+ </message>
+ <message>
+ <source>Command unit to power itself down</source>
+ <translation>Gerät im Anschluß abschalten</translation>
+ </message>
+ <message>
+ <source>Complete date-free tracks with given date (YYYYMMDD).</source>
+ <translation>Komplettiere Tracks ohne Datumsangaben mit Datum ... (YYYYMMDD)</translation>
+ </message>
+ <message>
+ <source>Create unique waypoint names (default = yes)</source>
+ <translation>Erzeuge eindeutige Wegpunktnamen (Vorgabe: JA)</translation>
+ </message>
+ <message>
+ <source>Create waypoints from geocache log entries</source>
+ <translation>Erzeuge Wegpunkte aus Geocache Log-Einträgen</translation>
+ </message>
+ <message>
+ <source>Database name</source>
+ <translation>Interner Name für die Palm/OS Datenbank</translation>
+ </message>
+ <message>
+ <source>Database name (filename)</source>
+ <translation>Datenbankname (Dateiname)</translation>
+ </message>
+ <message>
+ <source>Datum (default=NAD27)</source>
+ <translation>GPS-Datum (Vorgabe: NAD27)</translation>
+ </message>
+ <message>
+ <source>Days after which points are considered old</source>
+ <translation>Anzahl an Tagen, nach denen Punkte als alt betrachtet werden</translation>
+ </message>
+ <message>
+ <source>Decimal seconds to pause between groups of strings</source>
+ <translation>Pause (in Sekunden) zwischen Zeilengruppen</translation>
+ </message>
+ <message>
+ <source>Default category on output</source>
+ <translation>Standardkategorie beim Schreiben</translation>
+ </message>
+ <message>
+ <source>Default category on output (1..16)</source>
+ <translation>Standard Kategorie (1..16)</translation>
+ </message>
+ <message>
+ <source>Default icon name</source>
+ <translation>Standard Symbol</translation>
+ </message>
+ <message>
+ <source>Default location</source>
+ <translation>Vorgabestandort</translation>
+ </message>
+ <message>
+ <source>Default proximity</source>
+ <translation>Vorgabe-Annäherungsabstand</translation>
+ </message>
+ <message>
+ <source>Default speed</source>
+ <translation>Standardgeschwindigkeit</translation>
+ </message>
+ <message>
+ <source>Default speed for waypoints (knots/hr)</source>
+ <translation>Vorgabegeschwindigkeit (Knoten/h)</translation>
+ </message>
+ <message>
+ <source>Degrees output as 'ddd', 'dmm'(default) or 'dms'</source>
+ <translation>Schreibe Gradangaben in 'ddd', 'dmm' (Vorgabe) oder 'dms' (Gitter)</translation>
+ </message>
+ <message>
+ <source>Delete all routes</source>
+ <translation>Lösche alle Routen</translation>
+ </message>
+ <message>
+ <source>Delete all track points</source>
+ <translation>Lösche alle Trackpunkte</translation>
+ </message>
+ <message>
+ <source>Delete all waypoints</source>
+ <translation>Lösche alle Wegpunkte</translation>
+ </message>
+ <message>
+ <source>Display labels on track and routepoints (default = 1)</source>
+ <translation>Zeige Beschriftung bei Track- und Routenpunkten (Vorgabe: 1)</translation>
+ </message>
+ <message>
+ <source>Distance unit [m=metric, s=statute]</source>
+ <translation>Entfernungsangaben [m=Metrisch, s=Statute]</translation>
+ </message>
+ <message>
+ <source>Do not add geocache data to description</source>
+ <translation>Keine Geocache-Daten zur Beschreibung hinzufügen</translation>
+ </message>
+ <message>
+ <source>Do not add URLs to description</source>
+ <translation>Hänge keine URL's an die Beschreibung an</translation>
+ </message>
+ <message>
+ <source>Don't show gpi bitmap on device</source>
+ <translation>Zeige keine Bitmap (Icon) auf dem GPS</translation>
+ </message>
+ <message>
+ <source>Draw extrusion line from trackpoint to ground</source>
+ <translation>Zeichne eine Verbindungslinie vom Trackpunkt zum Erdboden</translation>
+ </message>
+ <message>
+ <source>Drop route points that do not have an equivalent waypoint (hidden points)</source>
+ <translation>Lösche versteckte Wegpunkte (automatisch berechnete Routenpunkte)</translation>
+ </message>
+ <message>
+ <source>Enable alerts on speed or proximity distance</source>
+ <translation>Aktiviere Alarm für Annäherung and Geschwindigkeit</translation>
+ </message>
+ <message>
+ <source>Encrypt hints using ROT13</source>
+ <translation>Verschlüsselung mit ROT13</translation>
+ </message>
+ <message>
+ <source>Encrypt hints with ROT13</source>
+ <translation>Verschlüsselung mit ROT13</translation>
+ </message>
+ <message>
+ <source>Erase device data after download</source>
+ <translation>Nach Download Daten auf dem Gerät löschen</translation>
+ </message>
+ <message>
+ <source>Export linestrings for tracks and routes</source>
+ <translation>Exportiere Linendaten (linestrings) für Tracks und Routen (Vorgabe: JA)</translation>
+ </message>
+ <message>
+ <source>Export placemarks for tracks and routes</source>
+ <translation>Exportiere Markierungen für Tracks und Routen</translation>
+ </message>
+ <message>
+ <source>Full path to XCSV style file</source>
+ <translation>Pfad zur 'XCSV-Style'-Datei</translation>
+ </message>
+ <message>
+ <source>Generate # points</source>
+ <translation>Erzeuge # Punkte</translation>
+ </message>
+ <message>
+ <source>Generate file with lat/lon for centering map</source>
+ <translation>Erzeuge Datei mit Breiten- und Längengradwerten (für Kartenzentrierung)</translation>
+ </message>
+ <message>
+ <source>Give points (waypoints/route points) a default radius (proximity)</source>
+ <translation>Gebe Wegpunkten/Routenpunkten diesen Radius </translation>
+ </message>
+ <message>
+ <source>GPS datum (def. WGS 84)</source>
+ <translation>GPS-Datum (Vorgabe: WGS 84)</translation>
+ </message>
+ <message>
+ <source>Height in pixels of map</source>
+ <translation>Kartenhöhe in Pixel</translation>
+ </message>
+ <message>
+ <source>Ignore event marker icons on read</source>
+ <translation>Ignoriere Ereignis-Icons beim Lesen</translation>
+ </message>
+ <message>
+ <source>Include extended data for trackpoints (default = 1)</source>
+ <translation>Erweiterte Daten in Trackpoints mit einbeziehen (Vorgabe = 1)</translation>
+ </message>
+ <message>
+ <source>Include groundspeak logs if present</source>
+ <translation>Groundspeak Log's beifügen (wenn vorhandan)</translation>
+ </message>
+ <message>
+ <source>Include major turn points (with description) from calculated route</source>
+ <translation>Beziehe Hauptrichtungsänderungen (Ansage vorhanden) mit ein</translation>
+ </message>
+ <message>
+ <source>Include only via stations in route</source>
+ <translation>Übernehme nur Stationspunkte ('viastations') der Route</translation>
+ </message>
+ <message>
+ <source>Include short name in bookmarks</source>
+ <translation>Übernehme Kurznamen in Lesezeichen</translation>
+ </message>
+ <message>
+ <source>Index of name field in .dbf</source>
+ <translation>Index des Namensfeldes innerhalb der .dbf</translation>
+ </message>
+ <message>
+ <source>Index of route (if more than one in source)</source>
+ <translation>Index des Route (falls mehrere im Eingabeformat)</translation>
+ </message>
+ <message>
+ <source>Index of route to write (if more than one in source)</source>
+ <translation>Routen-Index (wenn mehrere vorhanden)</translation>
+ </message>
+ <message>
+ <source>Index of route/track to write (if more than one in source)</source>
+ <translation>Route oder Track-Index (wenn mehrere vorhanden)</translation>
+ </message>
+ <message>
+ <source>Index of track (if more than one in source)</source>
+ <translation>Index des Tracks (falls mehrere im Eingabeformat)</translation>
+ </message>
+ <message>
+ <source>Index of track to write (if more than one in source)</source>
+ <translation>Track-Index (wenn mehrere vorhanden)</translation>
+ </message>
+ <message>
+ <source>Index of URL field in .dbf</source>
+ <translation>Index der URL innerhalb der .dbf</translation>
+ </message>
+ <message>
+ <source>Indicate direction of travel in track icons (default = 0)</source>
+ <translation>Erzeuge spezielle Icons (Richtungspfeile)</translation>
+ </message>
+ <message>
+ <source>Infrastructure closed icon name</source>
+ <translation>Icon "Komplex (Infrastruktur) geschlossen"</translation>
+ </message>
+ <message>
+ <source>Infrastructure open icon name</source>
+ <translation>Icon "Komplex (Infrastruktur) offen"</translation>
+ </message>
+ <message>
+ <source>Keep turns if simplify filter is used</source>
+ <translation>Erhalte Abbiegungen bei Benutzung des Simplify-Filters (Vereinfachen)</translation>
+ </message>
+ <message>
+ <source>Length of generated shortnames</source>
+ <translation>Maximale Länge der generierten Kurznamen</translation>
+ </message>
+ <message>
+ <source>Length of generated shortnames (default 16)</source>
+ <translation>Maximale Länge der zu generierten Kurznamen</translation>
+ </message>
+ <message>
+ <source>Line color, specified in hex AABBGGRR</source>
+ <translation>Linienfarbe (hex. Angabe in Form AABBGGRR)</translation>
+ </message>
+ <message>
+ <source>Make synth. shortnames unique</source>
+ <translation>Eindeutige Kurznamen erzeugen</translation>
+ </message>
+ <message>
+ <source>MapSend version TRK file to generate (3,4)</source>
+ <translation>Generiere TRK-Datei in MapSend-Version # (3,4)</translation>
+ </message>
+ <message>
+ <source>Margin for map. Degrees or percentage</source>
+ <translation>Begrenzung der Karte (in Grad oder Prozent)</translation>
+ </message>
+ <message>
+ <source>Marker type for new points</source>
+ <translation>Markierungstyp für neue Punkte</translation>
+ </message>
+ <message>
+ <source>Marker type for old points</source>
+ <translation>Markierungstyp für alte Punkte</translation>
+ </message>
+ <message>
+ <source>Marker type for unfound points</source>
+ <translation>Markierungstyp für nicht gefundene Punkte</translation>
+ </message>
+ <message>
+ <source>Max length of waypoint name to write</source>
+ <translation>Max. Länge der zu schreibenden Wegpunktnamen</translation>
+ </message>
+ <message>
+ <source>Max number of comments to write (maxcmts=200)</source>
+ <translation>Maximale Anzahl an Kommentaren für die Ausgabe</translation>
+ </message>
+ <message>
+ <source>Max shortname length when used with -s</source>
+ <translation>Maximale Länge der generierten Kurznamen</translation>
+ </message>
+ <message>
+ <source>Max synthesized shortname length</source>
+ <translation>Maximale Länge der generierten Kurznamen</translation>
+ </message>
+ <message>
+ <source>Merge output with existing file</source>
+ <translation>Ausgabe in existierende Datei einfügen</translation>
+ </message>
+ <message>
+ <source>MTK compatible CSV output file</source>
+ <translation>Ausgabe-CSV-Datei kompatibel zum MTK-Datalogger</translation>
+ </message>
+ <message>
+ <source>Name of the 'unassigned' category</source>
+ <translation>Name der 'unassigned'-Kategorie</translation>
+ </message>
+ <message>
+ <source>New name for the route</source>
+ <translation>Name der neuen Route</translation>
+ </message>
+ <message>
+ <source>No separator lines between waypoints</source>
+ <translation>keine Trennlinien zwischen den Wegpunkten</translation>
+ </message>
+ <message>
+ <source>No whitespace in generated shortnames</source>
+ <translation>Leerzeichen in Kurznamen unterdrücken</translation>
+ </message>
+ <message>
+ <source>Non-stealth encrypted icon name</source>
+ <translation>Sichtbar verschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <source>Non-stealth non-encrypted icon name</source>
+ <translation>Sichtbar und unverschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <source>Numeric value of bitrate (baud=4800)</source>
+ <translation>Baudrate (Vorgabe: 4800)</translation>
+ </message>
+ <message>
+ <source>Omit Placer name</source>
+ <translation>Placername auslassen</translation>
+ </message>
+ <message>
+ <source>Only read turns; skip all other points</source>
+ <translation>Lese nur Abbiegungen und ignoriere alle sonstigen Punkte</translation>
+ </message>
+ <message>
+ <source>Path to HTML style sheet</source>
+ <translation>Pfad zum HTML-Style-Sheet</translation>
+ </message>
+ <message>
+ <source>Precision of coordinates</source>
+ <translation>Präzision der Koordinaten (Anzahl Nachkommastellen)</translation>
+ </message>
+ <message>
+ <source>Proximity distance</source>
+ <translation>Standardmäßiger Annäherungsabstand</translation>
+ </message>
+ <message>
+ <source>Radius for circles</source>
+ <translation>Kreisradius</translation>
+ </message>
+ <message>
+ <source>Radius of our big earth (default 6371000 meters)</source>
+ <translation>Erdradius in Meter (Vorgabe: 6371000 Meter)</translation>
+ </message>
+ <message>
+ <source>Read control points as waypoint/route/none</source>
+ <translation>Lese Kontrollpunkte als Wegpunkt/Route/nichts</translation>
+ </message>
+ <message>
+ <source>Read/Write date format (i.e. DDMMYYYY)</source>
+ <translation>Datumsformat für Ein-/Ausgabe (z.B. DDMMYYYY)</translation>
+ </message>
+ <message>
+ <source>Read/Write date format (i.e. yyyy/mm/dd)</source>
+ <translation>Datumsformat (z.B. DD.MM.YYYY)</translation>
+ </message>
+ <message>
+ <source>Read/write GPGGA sentences</source>
+ <translation>Schreibe/Lese GPGGA Sequenzen</translation>
+ </message>
+ <message>
+ <source>Read/write GPGSA sentences</source>
+ <translation>Schreibe/Lese GPGSA Sequenzen</translation>
+ </message>
+ <message>
+ <source>Read/write GPRMC sentences</source>
+ <translation>Schreibe/Lese GPRMC Sequenzen</translation>
+ </message>
+ <message>
+ <source>Read/write GPVTG sentences</source>
+ <translation>Schreibe/Lese GPVTG Sequenzen</translation>
+ </message>
+ <message>
+ <source>Read/Write time format (i.e. HH:mm:ss xx)</source>
+ <translation>Zeitformat (z.B. HH:mm:ss xx)</translation>
+ </message>
+ <message>
+ <source>Retain at most this number of position points (0 = unlimited)</source>
+ <translation>Behalte höchstens diese Anzahl an Positionspunkten (0 = kein Limit)</translation>
+ </message>
+ <message>
+ <source>Return current position as a waypoint</source>
+ <translation>Übertrage aktuelle Position als Wegpunkt</translation>
+ </message>
+ <message>
+ <source>Road type changes</source>
+ <translation>Straßentyp-Wechsel</translation>
+ </message>
+ <message>
+ <source>Set waypoint name to source filename.</source>
+ <translation>Erzeuge den Wegpunktnamen an Hand des Dateinames</translation>
+ </message>
+ <message>
+ <source>Shortname is MAC address</source>
+ <translation>Kurzname ergibt sich aus MAC-Adresse</translation>
+ </message>
+ <message>
+ <source>Speed in bits per second of serial port (baud=4800)</source>
+ <translation>Übertragungsrate des seriellen Ports in Bits/Sekunde (Vorgabe: baud=4800)</translation>
+ </message>
+ <message>
+ <source>Split input into separate files</source>
+ <translation>Teile gelesene Daten in seperate Dateien</translation>
+ </message>
+ <message>
+ <source>Split into multiple routes at turns</source>
+ <translation>Route an Abbiegungen teilen</translation>
+ </message>
+ <message>
+ <source>Starting seed of the internal number generator</source>
+ <translation>Startwert für internen Zufallszahlengenerator</translation>
+ </message>
+ <message>
+ <source>Stealth encrypted icon name</source>
+ <translation>Unsichtbar verschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <source>Stealth non-encrypted icon name</source>
+ <translation>Unsichtbarer unverschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <source>String to separate concatenated address fields (default=", ")</source>
+ <translation>Trennzeichen für zusammengefügte Adressfelder (Vorgabe: ", ")</translation>
+ </message>
+ <message>
+ <source>Suppress labels on generated pins</source>
+ <translation>Unterdücke Kennzeichnung für erzeugte Pins</translation>
+ </message>
+ <message>
+ <source>Suppress retired geocaches</source>
+ <translation>Unterdrücke zurückgezogene (?) Geocaches</translation>
+ </message>
+ <message>
+ <source>Suppress separator lines between waypoints</source>
+ <translation>Keine Trennlinien zwischen den Wegpunkten</translation>
+ </message>
+ <message>
+ <source>Suppress use of handshaking in name of speed</source>
+ <translation>Kein 'Handshaking' (im Namen der Geschwindigkeit)</translation>
+ </message>
+ <message>
+ <source>Suppress whitespace in generated shortnames</source>
+ <translation>Keine Leerzeichen in Kurznamen</translation>
+ </message>
+ <message>
+ <source>Symbol to use for point data</source>
+ <translation>Symbol für Punkte</translation>
+ </message>
+ <message>
+ <source>Sync GPS time to computer time</source>
+ <translation>Synchronisiere PC-Uhr mit dem GPS (PC -> GPS)</translation>
+ </message>
+ <message>
+ <source>Synthesize track times</source>
+ <translation>Erzeuge Tracknamen</translation>
+ </message>
+ <message>
+ <source>Target GPX version for output</source>
+ <translation>Schreibe in GPX-Version (1.0 oder 1.1)</translation>
+ </message>
+ <message>
+ <source>Temperature unit [c=Celsius, f=Fahrenheit]</source>
+ <translation>Temperatureinheit [c=Celsius, F=Fahrenheit]</translation>
+ </message>
+ <message>
+ <source>The icon description is already the marker</source>
+ <translation>Die Symbolbeschreibung ist bereits die Markierung</translation>
+ </message>
+ <message>
+ <source>Treat waypoints as icons on write</source>
+ <translation>Behandle Wegpunkte als Icons beim Schreiben</translation>
+ </message>
+ <message>
+ <source>Type of .an1 file</source>
+ <translation>.an1 Dateityp</translation>
+ </message>
+ <message>
+ <source>Units for altitude (f)eet or (m)etres</source>
+ <translation>Höhenangaben in Fuß oder Meter ('f' oder 'm')</translation>
+ </message>
+ <message>
+ <source>Units used for names with @speed ('s'tatute or 'm'etric)</source>
+ <translation>Einheit für Geschwindigkeit in Wegpunkten [...@30] ( 's'tatute oder 'm'etrisch)</translation>
+ </message>
+ <message>
+ <source>Units used when writing comments ('s'tatute or 'm'etric)</source>
+ <translation>Einheit innerhalb von Kommentaren ( 's'tatute oder 'm'etrisch)</translation>
+ </message>
+ <message>
+ <source>UPPERCASE synth. shortnames</source>
+ <translation>Erzeuge Kurznamen in Großbuchstaben</translation>
+ </message>
+ <message>
+ <source>Use depth values on output (default is ignore)</source>
+ <translation>Tiefenangaben mit ausgeben (normalerweise ausgeschaltet)</translation>
+ </message>
+ <message>
+ <source>Use proximity values on output (default is ignore)</source>
+ <translation>Benutze Proximity-Werte bei der Ausgabe (Vorgabe: NEIN)</translation>
+ </message>
+ <message>
+ <source>Use shortname instead of description</source>
+ <translation>Benutze den Kurznamen anstelle der Beschreibung</translation>
+ </message>
+ <message>
+ <source>Use specified bitmap on output</source>
+ <translation>Benutze spezifische Bitmap (.BMP) für die Ausgabe</translation>
+ </message>
+ <message>
+ <source>Version of gdb file to generate (1..3)</source>
+ <translation>Schreibe GDB-Version 1, 2 oder 3</translation>
+ </message>
+ <message>
+ <source>Version of mapsource file to generate (3,4,5)</source>
+ <translation>Schreibe MapSource Datei in Version ... (3,4 oder 5)</translation>
+ </message>
+ <message>
+ <source>Waypoint background color</source>
+ <translation>Wegpunkt Hintergrundfarbe</translation>
+ </message>
+ <message>
+ <source>Waypoint foreground color</source>
+ <translation>Wegpunkt Vordergrundfarbe</translation>
+ </message>
+ <message>
+ <source>Waypoint type</source>
+ <translation>Wegpunkt Typ</translation>
+ </message>
+ <message>
+ <source>Width in pixels of map</source>
+ <translation>Kartenbreite in Pixel</translation>
+ </message>
+ <message>
+ <source>Width of lines, in pixels</source>
+ <translation>Linienhöhe in Pixel</translation>
+ </message>
+ <message>
+ <source>Write additional node tag key/value pairs</source>
+ <translation>Schreibe zusätzliche Wegpunkt (node) Informationspaare (tags)</translation>
+ </message>
+ <message>
+ <source>Write additional way tag key/value pairs</source>
+ <translation>Schreibe zusätzliche Routen (way) Informationspaare (tags)</translation>
+ </message>
+ <message>
+ <source>Write all tracks into one file</source>
+ <translation>Schreibe alle Tracks in eine Datei</translation>
+ </message>
+ <message>
+ <source>Write description to address field</source>
+ <translation>Platziere die Beschreibung im Adressfeld</translation>
+ </message>
+ <message>
+ <source>Write each waypoint in a separate file</source>
+ <translation>Schreibe jeden Wegpunkt in eine separate Datei</translation>
+ </message>
+ <message>
+ <source>Write notes to address field</source>
+ <translation>Schreibe Kommentar (Notizen) in das Adressfeld</translation>
+ </message>
+ <message>
+ <source>Write position to address field</source>
+ <translation>Platziere die Koordinaten im Adressfeld</translation>
+ </message>
+ <message>
+ <source>Write position using this grid.</source>
+ <translation>Erzeuge Koordinaten unter Benutzung dieses Gitters (Grids).</translation>
+ </message>
+ <message>
+ <source>Write timestamps with offset x to UTC time</source>
+ <translation>Schreibe Zeitstempel relativ zur UTC + x</translation>
+ </message>
+ <message>
+ <source>Write tracks compatible with Carto Exploreur</source>
+ <translation>Erzeuge Tracks ohne Titel (kompatibel zu "Carto Exploreur")</translation>
+ </message>
+ <message>
+ <source>Write tracks for Gisteq Phototracker</source>
+ <translation>Schreibe Tracks für "Gisteq Phototracker"</translation>
+ </message>
+ <message>
+ <source>Zoom level to reduce points</source>
+ <translation>Vergrößerungsfakter um Punkte zu unterdrücken</translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="de_DE">
+<context>
+ <name></name>
+ <message>
+ <location filename="foo.h" line="114"/>
+ <source>(integer sec or 'auto') Barograph to GPS time diff</source>
+ <translation>Zeitdifferent zwischen Barograph und GPS (ganzz. Sekunden oder 'auto')</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="318"/>
+ <source>(USR input) Break segments into separate tracks</source>
+ <translation>USR Eingabe: Segmente in seperate Tracks aufteilen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="317"/>
+ <source>(USR output) Merge into one segmented track</source>
+ <translation>USR-Ausgabe: zu einem segmentierten Track zusammenfassen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="532"/>
+ <source>Ad-hoc closed icon name</source>
+ <translation>Icon allgemein für "geschlossen"</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="533"/>
+ <source>Ad-hoc open icon name</source>
+ <translation>Icon allgemein für "offen"</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="178"/>
+ <source>After output job done sleep n second(s)</source>
+ <translation>Pausiere im Anschluß n sekunde(n)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="497"/>
+ <source>Allow whitespace synth. shortnames</source>
+ <translation>Erlaube Leerzeichen in Kurznamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="216"/>
+ <source>Altitudes are absolute and not clamped to ground</source>
+ <translation>Absolute Höhenangaben (nicht bodenverbunden)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="30"/>
+ <source>Append icon_descr to description</source>
+ <translation>Erweitere Beschreibung um Symbolbeschreibung</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="420"/>
+ <source>Append realtime positioning data to the output file instead of truncating</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="266"/>
+ <source>Base URL for link tag in output</source>
+ <translation>Basis-URL für Verknüpfungseintrag </translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="500"/>
+ <source>Basename prepended to URL on output</source>
+ <translation>Basis-Adresse für erzeugte URL's</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="190"/>
+ <source>Bitmap of categories</source>
+ <translation>Mehrfachkategorie, als Dezimal- oder Hexadezimalwert</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="207"/>
+ <source>Category name (Cache)</source>
+ <translation>Kategoriename (Cache)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="189"/>
+ <source>Category number to use for written waypoints</source>
+ <translation>Benutze Kategorie # beim Schreiben von Wegpunkten (1..16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="62"/>
+ <source>Color for lines or mapnotes</source>
+ <translation>Farbe für Linien oder Kartenangaben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="388"/>
+ <source>Command unit to power itself down</source>
+ <translation>Gerät im Anschluß abschalten</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="417"/>
+ <source>Complete date-free tracks with given date (YYYYMMDD).</source>
+ <translation>Komplettiere Tracks ohne Datumsangaben mit Datum ... (YYYYMMDD)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="180"/>
+ <source>Create unique waypoint names (default = yes)</source>
+ <translation>Erzeuge eindeutige Wegpunktnamen (Vorgabe: JA)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="265"/>
+ <source>Create waypoints from geocache log entries</source>
+ <translation>Erzeuge Wegpunkte aus Geocache Log-Einträgen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="448"/>
+ <source>Database name</source>
+ <translation>Interner Name für die Palm/OS Datenbank</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="206"/>
+ <source>Database name (filename)</source>
+ <translation>Datenbankname (Dateiname)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="377"/>
+ <source>Datum (default=NAD27)</source>
+ <translation>GPS-Datum (Vorgabe: NAD27)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="512"/>
+ <source>Days after which points are considered old</source>
+ <translation>Anzahl an Tagen, nach denen Punkte als alt betrachtet werden</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="419"/>
+ <source>Decimal seconds to pause between groups of strings</source>
+ <translation>Pause (in Sekunden) zwischen Zeilengruppen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="172"/>
+ <source>Default category on output</source>
+ <translation>Standardkategorie beim Schreiben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="137"/>
+ <source>Default category on output (1..16)</source>
+ <translation>Standard Kategorie (1..16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="445"/>
+ <source>Default icon name</source>
+ <translation>Standard Symbol</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="450"/>
+ <source>Default location</source>
+ <translation>Vorgabestandort</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="177"/>
+ <source>Default proximity</source>
+ <translation>Vorgabe-Annäherungsabstand</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="179"/>
+ <source>Default speed</source>
+ <translation>Standardgeschwindigkeit</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="116"/>
+ <source>Default speed for waypoints (knots/hr)</source>
+ <translation>Vorgabegeschwindigkeit (Knoten/h)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="484"/>
+ <source>Degrees output as 'ddd', 'dmm'(default) or 'dms'</source>
+ <translation>Schreibe Gradangaben in 'ddd', 'dmm' (Vorgabe) oder 'dms' (Gitter)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="386"/>
+ <source>Delete all routes</source>
+ <translation>Lösche alle Routen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="385"/>
+ <source>Delete all track points</source>
+ <translation>Lösche alle Trackpunkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="387"/>
+ <source>Delete all waypoints</source>
+ <translation>Lösche alle Wegpunkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="221"/>
+ <source>Display labels on track and routepoints (default = 1)</source>
+ <translation>Zeige Beschriftung bei Track- und Routenpunkten (Vorgabe: 1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="152"/>
+ <source>Distance unit [m=metric, s=statute]</source>
+ <translation>Entfernungsangaben [m=Metrisch, s=Statute]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="59"/>
+ <source>Do not add geocache data to description</source>
+ <translation>Keine Geocache-Daten zur Beschreibung hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="60"/>
+ <source>Do not add URLs to description</source>
+ <translation>Hänge keine URL's an die Beschreibung an</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="173"/>
+ <source>Don't show gpi bitmap on device</source>
+ <translation>Zeige keine Bitmap (Icon) auf dem GPS</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="217"/>
+ <source>Draw extrusion line from trackpoint to ground</source>
+ <translation>Zeichne eine Verbindungslinie vom Trackpunkt zum Erdboden</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="140"/>
+ <source>Drop route points that do not have an equivalent waypoint (hidden points)</source>
+ <translation>Lösche versteckte Wegpunkte (automatisch berechnete Routenpunkte)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="170"/>
+ <source>Enable alerts on speed or proximity distance</source>
+ <translation>Aktiviere Alarm für Annäherung and Geschwindigkeit</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="525"/>
+ <source>Encrypt hints using ROT13</source>
+ <translation>Verschlüsselung mit ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="439"/>
+ <source>Encrypt hints with ROT13</source>
+ <translation>Verschlüsselung mit ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="537"/>
+ <source>Erase device data after download</source>
+ <translation>Nach Download Daten auf dem Gerät löschen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="212"/>
+ <source>Export linestrings for tracks and routes</source>
+ <translation>Exportiere Linendaten (linestrings) für Tracks und Routen (Vorgabe: JA)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="213"/>
+ <source>Export placemarks for tracks and routes</source>
+ <translation>Exportiere Markierungen für Tracks und Routen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="1"/>
+ <source>Full path to XCSV style file</source>
+ <translation>Pfad zur 'XCSV-Style'-Datei</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="279"/>
+ <source>Generate # points</source>
+ <translation>Erzeuge # Punkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="509"/>
+ <source>Generate file with lat/lon for centering map</source>
+ <translation>Erzeuge Datei mit Breiten- und Längengradwerten (für Kartenzentrierung)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="43"/>
+ <source>Give points (waypoints/route points) a default radius (proximity)</source>
+ <translation>Gebe Wegpunkten/Routenpunkten diesen Radius </translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="521"/>
+ <source>GPS datum (def. WGS 84)</source>
+ <translation>GPS-Datum (Vorgabe: WGS 84)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="518"/>
+ <source>Height in pixels of map</source>
+ <translation>Kartenhöhe in Pixel</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="315"/>
+ <source>Ignore event marker icons on read</source>
+ <translation>Ignoriere Ereignis-Icons beim Lesen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="218"/>
+ <source>Include extended data for trackpoints (default = 1)</source>
+ <translation>Erweiterte Daten in Trackpoints mit einbeziehen (Vorgabe = 1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="483"/>
+ <source>Include groundspeak logs if present</source>
+ <translation>Groundspeak Log's beifügen (wenn vorhandan)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="141"/>
+ <source>Include major turn points (with description) from calculated route</source>
+ <translation>Beziehe Hauptrichtungsänderungen (Ansage vorhanden) mit ein</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="337"/>
+ <source>Include only via stations in route</source>
+ <translation>Übernehme nur Stationspunkte ('viastations') der Route</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="441"/>
+ <source>Include short name in bookmarks</source>
+ <translation>Übernehme Kurznamen in Lesezeichen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="111"/>
+ <source>Index of name field in .dbf</source>
+ <translation>Index des Namensfeldes innerhalb der .dbf</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Index of route (if more than one in source)</source>
+ <translation type="obsolete">Index des Route (falls mehrere im Eingabeformat)</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Index of route to write (if more than one in source)</source>
+ <translation type="obsolete">Routen-Index (wenn mehrere vorhanden)</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Index of route/track to write (if more than one in source)</source>
+ <translation type="obsolete">Route oder Track-Index (wenn mehrere vorhanden)</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Index of track (if more than one in source)</source>
+ <translation type="obsolete">Index des Tracks (falls mehrere im Eingabeformat)</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Index of track to write (if more than one in source)</source>
+ <translation type="obsolete">Track-Index (wenn mehrere vorhanden)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="112"/>
+ <source>Index of URL field in .dbf</source>
+ <translation>Index der URL innerhalb der .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="219"/>
+ <source>Indicate direction of travel in track icons (default = 0)</source>
+ <translation>Erzeuge spezielle Icons (Richtungspfeile)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="530"/>
+ <source>Infrastructure closed icon name</source>
+ <translation>Icon "Komplex (Infrastruktur) geschlossen"</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="531"/>
+ <source>Infrastructure open icon name</source>
+ <translation>Icon "Komplex (Infrastruktur) offen"</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="76"/>
+ <source>Keep turns if simplify filter is used</source>
+ <translation>Erhalte Abbiegungen bei Benutzung des Simplify-Filters (Vereinfachen)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="446"/>
+ <source>Length of generated shortnames</source>
+ <translation>Maximale Länge der generierten Kurznamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="44"/>
+ <source>Length of generated shortnames (default 16)</source>
+ <translation>Maximale Länge der zu generierten Kurznamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="215"/>
+ <source>Line color, specified in hex AABBGGRR</source>
+ <translation>Linienfarbe (hex. Angabe in Form AABBGGRR)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="499"/>
+ <source>Make synth. shortnames unique</source>
+ <translation>Eindeutige Kurznamen erzeugen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="321"/>
+ <source>MapSend version TRK file to generate (3,4)</source>
+ <translation>Generiere TRK-Datei in MapSend-Version # (3,4)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="510"/>
+ <source>Margin for map. Degrees or percentage</source>
+ <translation>Begrenzung der Karte (in Grad oder Prozent)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="514"/>
+ <source>Marker type for new points</source>
+ <translation>Markierungstyp für neue Punkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="513"/>
+ <source>Marker type for old points</source>
+ <translation>Markierungstyp für alte Punkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="516"/>
+ <source>Marker type for unfound points</source>
+ <translation>Markierungstyp für nicht gefundene Punkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="412"/>
+ <source>Max length of waypoint name to write</source>
+ <translation>Max. Länge der zu schreibenden Wegpunktnamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="331"/>
+ <source>Max number of comments to write (maxcmts=200)</source>
+ <translation>Maximale Anzahl an Kommentaren für die Ausgabe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="511"/>
+ <source>Max shortname length when used with -s</source>
+ <translation>Maximale Länge der generierten Kurznamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="496"/>
+ <source>Max synthesized shortname length</source>
+ <translation>Maximale Länge der generierten Kurznamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="146"/>
+ <source>Merge output with existing file</source>
+ <translation>Ausgabe in existierende Datei einfügen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="375"/>
+ <source>MTK compatible CSV output file</source>
+ <translation>Ausgabe-CSV-Datei kompatibel zum MTK-Datalogger</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="47"/>
+ <source>Name of the 'unassigned' category</source>
+ <translation>Name der 'unassigned'-Kategorie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="367"/>
+ <source>New name for the route</source>
+ <translation>Name der neuen Route</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="437"/>
+ <source>No separator lines between waypoints</source>
+ <translation>keine Trennlinien zwischen den Wegpunkten</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="264"/>
+ <source>No whitespace in generated shortnames</source>
+ <translation>Leerzeichen in Kurznamen unterdrücken</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="398"/>
+ <source>Non-stealth encrypted icon name</source>
+ <translation>Sichtbar verschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="399"/>
+ <source>Non-stealth non-encrypted icon name</source>
+ <translation>Sichtbar und unverschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="332"/>
+ <source>Numeric value of bitrate (baud=4800)</source>
+ <translation>Baudrate (Vorgabe: 4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="194"/>
+ <source>Omit Placer name</source>
+ <translation>Placername auslassen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="77"/>
+ <source>Only read turns; skip all other points</source>
+ <translation>Lese nur Abbiegungen und ignoriere alle sonstigen Punkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="272"/>
+ <source>Path to HTML style sheet</source>
+ <translation>Pfad zum HTML-Style-Sheet</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="154"/>
+ <source>Precision of coordinates</source>
+ <translation>Präzision der Koordinaten (Anzahl Nachkommastellen)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="435"/>
+ <source>Proximity distance</source>
+ <translation>Standardmäßiger Annäherungsabstand</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="65"/>
+ <source>Radius for circles</source>
+ <translation>Kreisradius</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="368"/>
+ <source>Radius of our big earth (default 6371000 meters)</source>
+ <translation>Erdradius in Meter (Vorgabe: 6371000 Meter)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="79"/>
+ <source>Read control points as waypoint/route/none</source>
+ <translation>Lese Kontrollpunkte als Wegpunkt/Route/nichts</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="443"/>
+ <source>Read/Write date format (i.e. DDMMYYYY)</source>
+ <translation>Datumsformat für Ein-/Ausgabe (z.B. DDMMYYYY)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="150"/>
+ <source>Read/Write date format (i.e. yyyy/mm/dd)</source>
+ <translation>Datumsformat (z.B. DD.MM.YYYY)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="414"/>
+ <source>Read/write GPGGA sentences</source>
+ <translation>Schreibe/Lese GPGGA Sequenzen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="416"/>
+ <source>Read/write GPGSA sentences</source>
+ <translation>Schreibe/Lese GPGSA Sequenzen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="413"/>
+ <source>Read/write GPRMC sentences</source>
+ <translation>Schreibe/Lese GPRMC Sequenzen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="415"/>
+ <source>Read/write GPVTG sentences</source>
+ <translation>Schreibe/Lese GPVTG Sequenzen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="156"/>
+ <source>Read/Write time format (i.e. HH:mm:ss xx)</source>
+ <translation>Zeitformat (z.B. HH:mm:ss xx)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="222"/>
+ <source>Retain at most this number of position points (0 = unlimited)</source>
+ <translation>Behalte höchstens diese Anzahl an Positionspunkten (0 = kein Limit)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="418"/>
+ <source>Return current position as a waypoint</source>
+ <translation>Übertrage aktuelle Position als Wegpunkt</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="58"/>
+ <source>Road type changes</source>
+ <translation>Straßentyp-Wechsel</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="110"/>
+ <source>Set waypoint name to source filename.</source>
+ <translation>Erzeuge den Wegpunktnamen an Hand des Dateinames</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="534"/>
+ <source>Shortname is MAC address</source>
+ <translation>Kurzname ergibt sich aus MAC-Adresse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="421"/>
+ <source>Speed in bits per second of serial port (baud=4800)</source>
+ <translation>Übertragungsrate des seriellen Ports in Bits/Sekunde (Vorgabe: baud=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="117"/>
+ <source>Split input into separate files</source>
+ <translation>Teile gelesene Daten in seperate Dateien</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="78"/>
+ <source>Split into multiple routes at turns</source>
+ <translation>Route an Abbiegungen teilen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="280"/>
+ <source>Starting seed of the internal number generator</source>
+ <translation>Startwert für internen Zufallszahlengenerator</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="400"/>
+ <source>Stealth encrypted icon name</source>
+ <translation>Unsichtbar verschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="401"/>
+ <source>Stealth non-encrypted icon name</source>
+ <translation>Unsichtbarer unverschlüsselter Symbolname</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="540"/>
+ <source>String to separate concatenated address fields (default=", ")</source>
+ <translation>Trennzeichen für zusammengefügte Adressfelder (Vorgabe: ", ")</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="508"/>
+ <source>Suppress labels on generated pins</source>
+ <translation>Unterdücke Kennzeichnung für erzeugte Pins</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="381"/>
+ <source>Suppress retired geocaches</source>
+ <translation>Unterdrücke zurückgezogene (?) Geocaches</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="481"/>
+ <source>Suppress separator lines between waypoints</source>
+ <translation>Keine Trennlinien zwischen den Wegpunkten</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="333"/>
+ <source>Suppress use of handshaking in name of speed</source>
+ <translation>Kein 'Handshaking' (im Namen der Geschwindigkeit)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="515"/>
+ <source>Suppress whitespace in generated shortnames</source>
+ <translation>Keine Leerzeichen in Kurznamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="61"/>
+ <source>Symbol to use for point data</source>
+ <translation>Symbol für Punkte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="188"/>
+ <source>Sync GPS time to computer time</source>
+ <translation>Synchronisiere PC-Uhr mit dem GPS (PC -> GPS)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="80"/>
+ <source>Synthesize track times</source>
+ <translation>Erzeuge Tracknamen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="267"/>
+ <source>Target GPX version for output</source>
+ <translation>Schreibe in GPX-Version (1.0 oder 1.1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="155"/>
+ <source>Temperature unit [c=Celsius, f=Fahrenheit]</source>
+ <translation>Temperatureinheit [c=Celsius, F=Fahrenheit]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="519"/>
+ <source>The icon description is already the marker</source>
+ <translation>Die Symbolbeschreibung ist bereits die Markierung</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="316"/>
+ <source>Treat waypoints as icons on write</source>
+ <translation>Behandle Wegpunkte als Icons beim Schreiben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="57"/>
+ <source>Type of .an1 file</source>
+ <translation>.an1 Dateityp</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="485"/>
+ <source>Units for altitude (f)eet or (m)etres</source>
+ <translation>Höhenangaben in Fuß oder Meter ('f' oder 'm')</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="181"/>
+ <source>Units used for names with @speed ('s'tatute or 'm'etric)</source>
+ <translation>Einheit für Geschwindigkeit in Wegpunkten [...@30] ( 's'tatute oder 'm'etrisch)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="220"/>
+ <source>Units used when writing comments ('s'tatute or 'm'etric)</source>
+ <translation>Einheit innerhalb von Kommentaren ( 's'tatute oder 'm'etrisch)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="498"/>
+ <source>UPPERCASE synth. shortnames</source>
+ <translation>Erzeuge Kurznamen in Großbuchstaben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="147"/>
+ <source>Use depth values on output (default is ignore)</source>
+ <translation>Tiefenangaben mit ausgeben (normalerweise ausgeschaltet)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="148"/>
+ <source>Use proximity values on output (default is ignore)</source>
+ <translation>Benutze Proximity-Werte bei der Ausgabe (Vorgabe: NEIN)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="501"/>
+ <source>Use shortname instead of description</source>
+ <translation>Benutze den Kurznamen anstelle der Beschreibung</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="171"/>
+ <source>Use specified bitmap on output</source>
+ <translation>Benutze spezifische Bitmap (.BMP) für die Ausgabe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="139"/>
+ <source>Version of gdb file to generate (1..3)</source>
+ <translation>Schreibe GDB-Version 1, 2 oder 3</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="145"/>
+ <source>Version of mapsource file to generate (3,4,5)</source>
+ <translation>Schreibe MapSource Datei in Version ... (3,4 oder 5)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="434"/>
+ <source>Waypoint background color</source>
+ <translation>Wegpunkt Hintergrundfarbe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="433"/>
+ <source>Waypoint foreground color</source>
+ <translation>Wegpunkt Vordergrundfarbe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="64"/>
+ <source>Waypoint type</source>
+ <translation>Wegpunkt Typ</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="517"/>
+ <source>Width in pixels of map</source>
+ <translation>Kartenbreite in Pixel</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="214"/>
+ <source>Width of lines, in pixels</source>
+ <translation>Linienhöhe in Pixel</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="426"/>
+ <source>Write additional node tag key/value pairs</source>
+ <translation>Schreibe zusätzliche Wegpunkt (node) Informationspaare (tags)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="425"/>
+ <source>Write additional way tag key/value pairs</source>
+ <translation>Schreibe zusätzliche Routen (way) Informationspaare (tags)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="428"/>
+ <source>Write all tracks into one file</source>
+ <translation>Schreibe alle Tracks in eine Datei</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="174"/>
+ <source>Write description to address field</source>
+ <translation>Platziere die Beschreibung im Adressfeld</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="486"/>
+ <source>Write each waypoint in a separate file</source>
+ <translation>Schreibe jeden Wegpunkt in eine separate Datei</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="175"/>
+ <source>Write notes to address field</source>
+ <translation>Schreibe Kommentar (Notizen) in das Adressfeld</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="176"/>
+ <source>Write position to address field</source>
+ <translation>Platziere die Koordinaten im Adressfeld</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="522"/>
+ <source>Write position using this grid.</source>
+ <translation>Erzeuge Koordinaten unter Benutzung dieses Gitters (Grids).</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="523"/>
+ <source>Write timestamps with offset x to UTC time</source>
+ <translation>Schreibe Zeitstempel relativ zur UTC + x</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="160"/>
+ <source>Write tracks compatible with Carto Exploreur</source>
+ <translation>Erzeuge Tracks ohne Titel (kompatibel zu "Carto Exploreur")</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="422"/>
+ <source>Write tracks for Gisteq Phototracker</source>
+ <translation>Schreibe Tracks für "Gisteq Phototracker"</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="63"/>
+ <source>Zoom level to reduce points</source>
+ <translation>Vergrößerungsfakter um Punkte zu unterdrücken</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="9"/>
+ <source>Alan Map500 tracklogs (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="10"/>
+ <source>Alan Map500 waypoints and routes (.wpr)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="18"/>
+ <source>Brauniger IQ Series Barograph Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="19"/>
+ <source>Cambridge/Winpilot glider software</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="27"/>
+ <source>CarteSurTable data file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="28"/>
+ <source>Cetus for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="31"/>
+ <source>CoastalExplorer XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="32"/>
+ <source>Comma separated values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="40"/>
+ <source>CompeGPS data files (.wpt/.trk/.rte)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="470"/>
+ <source>Index of route/track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="45"/>
+ <source>CoPilot Flight Planner for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="46"/>
+ <source>cotoGPS for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="55"/>
+ <source>Dell Axim Navigation System (.gpb) file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="56"/>
+ <source>DeLorme .an1 (drawing) file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="66"/>
+ <source>DeLorme GPL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="67"/>
+ <source>DeLorme Street Atlas Plus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="75"/>
+ <source>DeLorme Street Atlas Route</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="81"/>
+ <source>DeLorme XMap HH Native .WPT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="89"/>
+ <source>DeLorme XMap/SAHH 2006 Native .TXT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="97"/>
+ <source>DeLorme XMat HH Street Atlas USA .WPT (PPC)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="105"/>
+ <source>Destinator Itineraries (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="106"/>
+ <source>Destinator Points of Interest (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="107"/>
+ <source>Destinator TrackLogs (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="108"/>
+ <source>EasyGPS binary format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="109"/>
+ <source>Embedded Exif-GPS data (.jpg)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="113"/>
+ <source>FAI/IGC Flight Recorder Data Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="115"/>
+ <source>Franson GPSGate Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="118"/>
+ <source>Fugawi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="126"/>
+ <source>G7ToWin data files (.g7t)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="127"/>
+ <source>Garmin 301 Custom position and heartrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="135"/>
+ <source>Garmin Logbook XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="136"/>
+ <source>Garmin MapSource - gdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="142"/>
+ <source>Garmin MapSource - mps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="149"/>
+ <source>Garmin MapSource - txt (tab delimited)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="158"/>
+ <source>Garmin PCX5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="161"/>
+ <source>Garmin POI database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="169"/>
+ <source>Garmin Points of Interest (.gpi)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="182"/>
+ <source>Garmin serial/USB protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="191"/>
+ <source>Garmin Training Centerxml</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="192"/>
+ <source>Geocaching.com .loc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="195"/>
+ <source>GeocachingDB for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="196"/>
+ <source>Geogrid Viewer tracklogs (.log)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="197"/>
+ <source>GEOnet Names Server (GNS)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="205"/>
+ <source>GeoNiche .pdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="208"/>
+ <source>GlobalSat DG-100/BT-335 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="210"/>
+ <source>Google Earth (Keyhole) Markup Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="223"/>
+ <source>Google Maps XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="224"/>
+ <source>GpilotS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="226"/>
+ <source>GPS TrackMaker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="227"/>
+ <source>GPSBabel arc filter file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="235"/>
+ <source>GpsDrive Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="243"/>
+ <source>GpsDrive Format for Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="251"/>
+ <source>GPSman</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="259"/>
+ <source>GPSPilot Tracker for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="261"/>
+ <source>gpsutil</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="262"/>
+ <source>GPX XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="268"/>
+ <source>HikeTech</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="269"/>
+ <source>Holux (gm-100) .wpo Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="270"/>
+ <source>HSA Endeavour Navigator export File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="271"/>
+ <source>HTML Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="277"/>
+ <source>IGN Rando track files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="278"/>
+ <source>Index of track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="281"/>
+ <source>Kartex 5 Track File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="289"/>
+ <source>Kartex 5 Waypoint File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="297"/>
+ <source>Kompass (DAV) Track (.tk)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="305"/>
+ <source>Kompass (DAV) Waypoints (.wp)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="313"/>
+ <source>KuDaTa PsiTrex text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="314"/>
+ <source>Lowrance USR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="319"/>
+ <source>Magellan Explorist Geocaching</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="320"/>
+ <source>Magellan Mapsend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="322"/>
+ <source>Magellan NAV Companion for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="323"/>
+ <source>Magellan SD files (as for eXplorist)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="326"/>
+ <source>Magellan SD files (as for Meridian)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="329"/>
+ <source>Magellan serial protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="335"/>
+ <source>MagicMaps IK3D project file (.ikt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="336"/>
+ <source>Map&Guide 'TourExchangeFormat' XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="338"/>
+ <source>Map&Guide to Palm/OS exported files (.pdb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="339"/>
+ <source>Mapopolis.com Mapconverter CSV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="347"/>
+ <source>MapTech Exchange Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="355"/>
+ <source>Microsoft AutoRoute 2002 (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="356"/>
+ <source>Microsoft Streets and Trips (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="357"/>
+ <source>Microsoft Streets and Trips 2002-2007</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="365"/>
+ <source>Motorrad Routenplaner (Map&Guide) .bcr files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="383"/>
+ <source>Index of route to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="370"/>
+ <source>MS PocketStreets 2002 Pushpin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="371"/>
+ <source>MTK Logger (iBlue 747,...) Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="373"/>
+ <source>MTK Logger (iBlue 747,Qstarz BT-1000,...) download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="376"/>
+ <source>National Geographic Topo .tpg (waypoints)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="378"/>
+ <source>National Geographic Topo 2.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="379"/>
+ <source>National Geographic Topo 3.x/4.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="380"/>
+ <source>Navicache.com XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="382"/>
+ <source>Navigon Mobile Navigator .rte files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="384"/>
+ <source>NaviGPS GT-11/BGT-11 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="389"/>
+ <source>Navitrak DNA marker format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="397"/>
+ <source>NetStumbler Summary File (text)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="403"/>
+ <source>NIMA/GNIS Geographic Names File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="411"/>
+ <source>NMEA 0183 sentences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="423"/>
+ <source>Nokia Landmark Exchange</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="424"/>
+ <source>OpenStreetMap data files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="427"/>
+ <source>OziExplorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="436"/>
+ <source>PalmDoc Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="442"/>
+ <source>PathAway Database for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="447"/>
+ <source>Quovadis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="449"/>
+ <source>Raymarine Waypoint File (.rwf)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="451"/>
+ <source>See You flight analysis data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="459"/>
+ <source>Sportsim track files (part of zipped .ssz files)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="467"/>
+ <source>Suunto Trek Manager (STM) .sdf files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="468"/>
+ <source>Index of route (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="469"/>
+ <source>Suunto Trek Manager (STM) WaypointPlus files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="471"/>
+ <source>Swiss Map # (.xol) format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="472"/>
+ <source>Tab delimited fields useful for OpenOffice, Ploticus etc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="480"/>
+ <source>Textual Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="487"/>
+ <source>TomTom Itineraries (.itn)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="495"/>
+ <source>TomTom POI file (.asc)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="503"/>
+ <source>TomTom POI file (.ov2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="504"/>
+ <source>TopoMapPro Places File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="505"/>
+ <source>TrackLogs digital mapping (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="506"/>
+ <source>Index of track (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="507"/>
+ <source>U.S. Census Bureau Tiger Mapping Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="520"/>
+ <source>Universal csv with field structure in first line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="524"/>
+ <source>Vcard Output (for iPod)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="526"/>
+ <source>VidaOne GPS for Pocket PC (.gpb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="527"/>
+ <source>Vito Navigator II tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="528"/>
+ <source>Vito SmartMap tracks (.vtt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="529"/>
+ <source>WiFiFoFum 2.0 for PocketPC XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="535"/>
+ <source>Wintec WBT-100/200 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="536"/>
+ <source>Wintec WBT-100/200 GPS Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="538"/>
+ <source>Wintec WBT-201/G-Rays 2 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="539"/>
+ <source>Yahoo Geocode API data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="es_ES">
+<context>
+ <name></name>
+ <message>
+ <location filename="foo.h" line="114"/>
+ <source>(integer sec or 'auto') Barograph to GPS time diff</source>
+ <translation>Dif. de tiempos de barógrafo a GPS (núm de segs. o 'auto')</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="318"/>
+ <source>(USR input) Break segments into separate tracks</source>
+ <translation>(Entrada USR) Dividir segmentos en trazas separadas</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="317"/>
+ <source>(USR output) Merge into one segmented track</source>
+ <translation>(Salida USR) Combinar en una traza segmentada</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="532"/>
+ <source>Ad-hoc closed icon name</source>
+ <translation>Cerrar nombre de icono Ad-hoc</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="533"/>
+ <source>Ad-hoc open icon name</source>
+ <translation>Abrir nombre de icono Ad-hoc</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="178"/>
+ <source>After output job done sleep n second(s)</source>
+ <translation>Después de la conversión, para 'n' segundos.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="497"/>
+ <source>Allow whitespace synth. shortnames</source>
+ <translation>Permitir espacios en los nombres cortos a generar</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="216"/>
+ <source>Altitudes are absolute and not clamped to ground</source>
+ <translation>Altitudes absolutas, no relativas al suelo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="30"/>
+ <source>Append icon_descr to description</source>
+ <translation>Añadir descripción de icono a la descripción</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="420"/>
+ <source>Append realtime positioning data to the output file instead of truncating</source>
+ <translation>Añadir datos de posicionamiento de tiempo real al fichero de salida en vez de truncarlo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="266"/>
+ <source>Base URL for link tag in output</source>
+ <translation>URL base para marca de enlace en salida</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="500"/>
+ <source>Basename prepended to URL on output</source>
+ <translation>Prefijo de la URL del resultado</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="190"/>
+ <source>Bitmap of categories</source>
+ <translation>Categorías de bitmap</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="207"/>
+ <source>Category name (Cache)</source>
+ <translation>Nombre de categoría (Cache)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="189"/>
+ <source>Category number to use for written waypoints</source>
+ <translation>Número de categoría a usar en los puntos de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="62"/>
+ <source>Color for lines or mapnotes</source>
+ <translation>Color para líneas o notas de mapa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="388"/>
+ <source>Command unit to power itself down</source>
+ <translation>Enviar comando de apagado a la unidad</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="417"/>
+ <source>Complete date-free tracks with given date (YYYYMMDD).</source>
+ <translation>Completar las trazas sin fecha con la fecha facilitada (AAAAMMDD).</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="180"/>
+ <source>Create unique waypoint names (default = yes)</source>
+ <translation>Crear nombres únicos para los puntos de ruta (defecto = si)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="265"/>
+ <source>Create waypoints from geocache log entries</source>
+ <translation>Crear puntos de ruta a partir de entradas de log de geocache</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="448"/>
+ <source>Database name</source>
+ <translation>Nombre de la base de datos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="206"/>
+ <source>Database name (filename)</source>
+ <translation>Nombre de la base de datos (nombre de fichero)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="377"/>
+ <source>Datum (default=NAD27)</source>
+ <translation>Datum (por defecto=NAD27)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="512"/>
+ <source>Days after which points are considered old</source>
+ <translation>Días después de los cuales los puntos se consideran antiguos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="419"/>
+ <source>Decimal seconds to pause between groups of strings</source>
+ <translation>Segundos de pausa (en decimal) entre grupos de cadenas.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="172"/>
+ <source>Default category on output</source>
+ <translation>Categoría por defecto en la salida</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="137"/>
+ <source>Default category on output (1..16)</source>
+ <translation>Categoría por defecto del resultado (1..16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="445"/>
+ <source>Default icon name</source>
+ <translation>Nombre del icono por defecto</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="450"/>
+ <source>Default location</source>
+ <translation>Localización por defecto</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="177"/>
+ <source>Default proximity</source>
+ <translation>Proximidad por defecto</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="179"/>
+ <source>Default speed</source>
+ <translation>Velocidad por defecto</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="116"/>
+ <source>Default speed for waypoints (knots/hr)</source>
+ <translation>Velocidad por defecto para los puntos de ruta (nudos/hora)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="484"/>
+ <source>Degrees output as 'ddd', 'dmm'(default) or 'dms'</source>
+ <translation>Salida en grados como 'ggg', 'gmm' (defecto) o 'gms'</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="386"/>
+ <source>Delete all routes</source>
+ <translation>Borrar todas las rutas</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="385"/>
+ <source>Delete all track points</source>
+ <translation>Borrar todos los puntos de la traza</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="387"/>
+ <source>Delete all waypoints</source>
+ <translation>Borrar todos los puntos de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="221"/>
+ <source>Display labels on track and routepoints (default = 1)</source>
+ <translation>Mostrar etiquetas en las trazas y puntos de ruta (defecto=1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="152"/>
+ <source>Distance unit [m=metric, s=statute]</source>
+ <translation>Unidades de distancia [m=metrico,s=imperial]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="59"/>
+ <source>Do not add geocache data to description</source>
+ <translation>No añadir datos de geocache a la descripción</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="60"/>
+ <source>Do not add URLs to description</source>
+ <translation>No añadir URL a la descripción</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="173"/>
+ <source>Don't show gpi bitmap on device</source>
+ <translation>No mostrar bitmaps gpi en el dispositivo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="217"/>
+ <source>Draw extrusion line from trackpoint to ground</source>
+ <translation>Dibujar línea de extrusión desde el punto de trazado a tierra.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="140"/>
+ <source>Drop route points that do not have an equivalent waypoint (hidden points)</source>
+ <translation>Descartar puntos de la ruta que no tengan punto de ruta equivalente (oculto)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="170"/>
+ <source>Enable alerts on speed or proximity distance</source>
+ <translation>Habilitar alertas de velocidad o proximidad</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="525"/>
+ <source>Encrypt hints using ROT13</source>
+ <translation>Encriptar sugerencias mediante ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="439"/>
+ <source>Encrypt hints with ROT13</source>
+ <translation>Encriptar sugerencias mediante ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="537"/>
+ <source>Erase device data after download</source>
+ <translation>Borrar datos del dispositivo después de descargar.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="212"/>
+ <source>Export linestrings for tracks and routes</source>
+ <translation>Exportar las cadenas de caracteres para las trazas y rutas</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="213"/>
+ <source>Export placemarks for tracks and routes</source>
+ <translation>Exportar marcas de situación para trazas y rutas</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="1"/>
+ <source>Full path to XCSV style file</source>
+ <translation>Ruta completa de la hoja de estilo XCSV</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="279"/>
+ <source>Generate # points</source>
+ <translation>Genera # puntos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="509"/>
+ <source>Generate file with lat/lon for centering map</source>
+ <translation>Generar fichero con lat/lon para centrar mapa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="43"/>
+ <source>Give points (waypoints/route points) a default radius (proximity)</source>
+ <translation>Dar a los puntos (puntos de ruta/puntos de la ruta) un radio por defecto (proximidad)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="521"/>
+ <source>GPS datum (def. WGS 84)</source>
+ <translation>Datum GPS (def. WGS 84)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="518"/>
+ <source>Height in pixels of map</source>
+ <translation type="unfinished">Alto del mapa, en pixels</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="315"/>
+ <source>Ignore event marker icons on read</source>
+ <translation>Ignorar iconos marcadores de eventos en la lectura</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="218"/>
+ <source>Include extended data for trackpoints (default = 1)</source>
+ <translation>Incluir datos extendidos para los puntos de la traza (defecto = 1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="483"/>
+ <source>Include groundspeak logs if present</source>
+ <translation>Incluir registros de groundspeak, si existen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="141"/>
+ <source>Include major turn points (with description) from calculated route</source>
+ <translation>Incluir los puntos de giros más importantes (con descripción) de la ruta calculada</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="337"/>
+ <source>Include only via stations in route</source>
+ <translation>Suprimir puntos de ruta calculados</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="441"/>
+ <source>Include short name in bookmarks</source>
+ <translation>Incluir nombre corto en Favoritos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="111"/>
+ <source>Index of name field in .dbf</source>
+ <translation>Índice del campo nombre en .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="112"/>
+ <source>Index of URL field in .dbf</source>
+ <translation>Índice del campo URL en .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="219"/>
+ <source>Indicate direction of travel in track icons (default = 0)</source>
+ <translation>Indicar la dirección del viaje en los iconos de la traza</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="530"/>
+ <source>Infrastructure closed icon name</source>
+ <translation>Nombre de icono para cerrar infraestructura.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="531"/>
+ <source>Infrastructure open icon name</source>
+ <translation>Nombre de icono para abrir infraestructura.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="76"/>
+ <source>Keep turns if simplify filter is used</source>
+ <translation>Mantener giros si se usa el filtro de simplificación</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="446"/>
+ <source>Length of generated shortnames</source>
+ <translation>Longitud de nombres cortos a generar</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="44"/>
+ <source>Length of generated shortnames (default 16)</source>
+ <translation>Longitud de nombres cortos a generar</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="215"/>
+ <source>Line color, specified in hex AABBGGRR</source>
+ <translation>Color de línea, especificado en hex AABBGGRR</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="499"/>
+ <source>Make synth. shortnames unique</source>
+ <translation>Crear nombres cortos únicos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="321"/>
+ <source>MapSend version TRK file to generate (3,4)</source>
+ <translation>Versión de fichero TRK de MapSend a generar (3,4)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="510"/>
+ <source>Margin for map. Degrees or percentage</source>
+ <translation>Márgen para el mapa. Grados de porcentaje.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="514"/>
+ <source>Marker type for new points</source>
+ <translation>Tipo de marcador para puntos nuevos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="513"/>
+ <source>Marker type for old points</source>
+ <translation>Tipo de marcador para puntos antiguos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="516"/>
+ <source>Marker type for unfound points</source>
+ <translation>Tipo de marcador para puntos no encontrados</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="412"/>
+ <source>Max length of waypoint name to write</source>
+ <translation>Longitud máxima de nombre de los puntos de rutas a escribir</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="331"/>
+ <source>Max number of comments to write (maxcmts=200)</source>
+ <translation>Máximo número de comentarios a escribir (maxcmts=200)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="511"/>
+ <source>Max shortname length when used with -s</source>
+ <translation>Longitud máxima de nombre corto cuando se use con -s</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="496"/>
+ <source>Max synthesized shortname length</source>
+ <translation>Longitud máxima de nombre corto a generar</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="146"/>
+ <source>Merge output with existing file</source>
+ <translation>Combinar salida con fichero existente</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="375"/>
+ <source>MTK compatible CSV output file</source>
+ <translation>MTK compatible con fichero CSV</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="47"/>
+ <source>Name of the 'unassigned' category</source>
+ <translation>Nombre de la categoría 'Sin asignar'</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="367"/>
+ <source>New name for the route</source>
+ <translation>Nuevo nombre de la ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="437"/>
+ <source>No separator lines between waypoints</source>
+ <translation>Sin líneas de separación entre puntos de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="264"/>
+ <source>No whitespace in generated shortnames</source>
+ <translation>Sin espacios en blanco en nombres cortos.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="398"/>
+ <source>Non-stealth encrypted icon name</source>
+ <translation>Nombre de icono encriptado (No oculto)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="399"/>
+ <source>Non-stealth non-encrypted icon name</source>
+ <translation>Nombre de icono no encriptado (No oculto)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="332"/>
+ <source>Numeric value of bitrate (baud=4800)</source>
+ <translation>Valor numérico de bitrate (baudios=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="194"/>
+ <source>Omit Placer name</source>
+ <translation>Omitir nombre del creador</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="77"/>
+ <source>Only read turns; skip all other points</source>
+ <translation>Sólo leer giros; ignorar todos los demás puntos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="272"/>
+ <source>Path to HTML style sheet</source>
+ <translation>Ruta de la hoja de estilo HTML</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="154"/>
+ <source>Precision of coordinates</source>
+ <translation>Precisión de las coordenadas.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="435"/>
+ <source>Proximity distance</source>
+ <translation>Distancia de proximidad</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="65"/>
+ <source>Radius for circles</source>
+ <translation>Radio para los círculos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="368"/>
+ <source>Radius of our big earth (default 6371000 meters)</source>
+ <translation>Radio de nuestra gran Tierra (por defecto 6371000 metros)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="79"/>
+ <source>Read control points as waypoint/route/none</source>
+ <translation>Leer puntos de control como punto de ruta/ruta/ninguno</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="443"/>
+ <source>Read/Write date format (i.e. DDMMYYYY)</source>
+ <translation>Formato de fecha en Lectura/Escritura (p.e. DDMMAAAA)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="150"/>
+ <source>Read/Write date format (i.e. yyyy/mm/dd)</source>
+ <translation>Formato de fecha en Lectura/Escritura (p.e. aaaa/mm/dd)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="414"/>
+ <source>Read/write GPGGA sentences</source>
+ <translation>Comandos de Lectura/Escritura en GPGGA</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="416"/>
+ <source>Read/write GPGSA sentences</source>
+ <translation>Comandos de Lectura/Escritura en GPGSA</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="413"/>
+ <source>Read/write GPRMC sentences</source>
+ <translation>Comandos de Lectura/Escritura en GPRMC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="415"/>
+ <source>Read/write GPVTG sentences</source>
+ <translation>Comandos de Lectura/Escritura en GPVTG</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="156"/>
+ <source>Read/Write time format (i.e. HH:mm:ss xx)</source>
+ <translation>Formato de hora en Lectura/Escritura (p.e. HH:mm:ss xx)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="222"/>
+ <source>Retain at most this number of position points (0 = unlimited)</source>
+ <translation>Almacenar como poco este número de puntos de posición (0=ilimitado)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="418"/>
+ <source>Return current position as a waypoint</source>
+ <translation>Devolver la posición actual como un punto de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="58"/>
+ <source>Road type changes</source>
+ <translation>Cambios en tipo de carretera.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="110"/>
+ <source>Set waypoint name to source filename.</source>
+ <translation>Establecer el nombre de los puntos de ruta al fichero origen</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="534"/>
+ <source>Shortname is MAC address</source>
+ <translation>El nombre corto es la dirección MAC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="421"/>
+ <source>Speed in bits per second of serial port (baud=4800)</source>
+ <translation>Velocidad en bits por segundos del puerto serie (4800 baudios)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="117"/>
+ <source>Split input into separate files</source>
+ <translation>Dividir la entrada en archivos separados</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="78"/>
+ <source>Split into multiple routes at turns</source>
+ <translation>Dividir en múltiples rutas en los giros</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="280"/>
+ <source>Starting seed of the internal number generator</source>
+ <translation>Iniciando el origen de datos del generador numérico interno</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="400"/>
+ <source>Stealth encrypted icon name</source>
+ <translation>Nombre de icono encriptado (Oculto)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="401"/>
+ <source>Stealth non-encrypted icon name</source>
+ <translation>Nombre de icono no encriptado (Oculto)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="540"/>
+ <source>String to separate concatenated address fields (default=", ")</source>
+ <translation>Separar la cadena en campos de dirección concatenados (defecto=",")</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="508"/>
+ <source>Suppress labels on generated pins</source>
+ <translation>Quitar etiquetas en pins generados</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="381"/>
+ <source>Suppress retired geocaches</source>
+ <translation>Eliminar geocaches retirados</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="481"/>
+ <source>Suppress separator lines between waypoints</source>
+ <translation>Quitar líneas de separación entre puntos de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="333"/>
+ <source>Suppress use of handshaking in name of speed</source>
+ <translation>Eliminar uso de handshaking en nombre de velocidad (???)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="515"/>
+ <source>Suppress whitespace in generated shortnames</source>
+ <translation>Quitar espacios en nombres cortos generados</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="61"/>
+ <source>Symbol to use for point data</source>
+ <translation>Símbolo a usar para los datos de puntos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="188"/>
+ <source>Sync GPS time to computer time</source>
+ <translation>Sincronizar la hora del GPS con la del PC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="80"/>
+ <source>Synthesize track times</source>
+ <translation>Resumir los tiempos de las trazas</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="267"/>
+ <source>Target GPX version for output</source>
+ <translation>Versión GPX destino para la salida</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="155"/>
+ <source>Temperature unit [c=Celsius, f=Fahrenheit]</source>
+ <translation>Unidades de temperatura [c=Celsius, f=Fahrenheit]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="519"/>
+ <source>The icon description is already the marker</source>
+ <translation>La descripción del icono ya es el marcador</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="316"/>
+ <source>Treat waypoints as icons on write</source>
+ <translation>Tratar los puntos de ruta como iconos en la escritura</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="57"/>
+ <source>Type of .an1 file</source>
+ <translation>Fichero de tipo .an1</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="485"/>
+ <source>Units for altitude (f)eet or (m)etres</source>
+ <translation>Unidades de altitud (p)íes o (m)etros</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="181"/>
+ <source>Units used for names with @speed ('s'tatute or 'm'etric)</source>
+ <translation>Unidades utilizadas para los nombre con @velocidad ('s'tatute o 'm'etrica)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="220"/>
+ <source>Units used when writing comments ('s'tatute or 'm'etric)</source>
+ <translation>Unidades utilizadas en los comentarios ('i'mperial o 'm'étrico')</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="498"/>
+ <source>UPPERCASE synth. shortnames</source>
+ <translation>Nombres cortos a generar en MAYÚSCULAS</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="147"/>
+ <source>Use depth values on output (default is ignore)</source>
+ <translation>Usar valores de profundidad en resultado (por defecto: ignorar)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="148"/>
+ <source>Use proximity values on output (default is ignore)</source>
+ <translation>Usar valores de proximidad en resultado (por defecto: ignorar)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="501"/>
+ <source>Use shortname instead of description</source>
+ <translation>Usar el nombre corto en lugar de la descripción</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="171"/>
+ <source>Use specified bitmap on output</source>
+ <translation>Utilizar el bitmap escificado en la salida</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="139"/>
+ <source>Version of gdb file to generate (1..3)</source>
+ <translation>Versión del fichero gbd a generar (1..3)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="145"/>
+ <source>Version of mapsource file to generate (3,4,5)</source>
+ <translation>Versión de fichero mapsource a generar (3,4,5)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="434"/>
+ <source>Waypoint background color</source>
+ <translation>Color de fondo para los puntos de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="433"/>
+ <source>Waypoint foreground color</source>
+ <translation>Color primer plano para los puntos de ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="64"/>
+ <source>Waypoint type</source>
+ <translation>Tipo de punto de trazado</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="517"/>
+ <source>Width in pixels of map</source>
+ <translation>Ancho del mapa, en pixels</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="214"/>
+ <source>Width of lines, in pixels</source>
+ <translation>Ancho de líneas, en pixels</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="426"/>
+ <source>Write additional node tag key/value pairs</source>
+ <translation>Escribir etiquetas adicionales de clave/valor en los nodos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="425"/>
+ <source>Write additional way tag key/value pairs</source>
+ <translation>Graba etiquetas adicionales de clave/valor en la ruta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="428"/>
+ <source>Write all tracks into one file</source>
+ <translation>Graba todas las trazas en un fichero</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="174"/>
+ <source>Write description to address field</source>
+ <translation>Graba la descripción al campo dirección</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="486"/>
+ <source>Write each waypoint in a separate file</source>
+ <translation>Graba cada punto de ruta en un fichero individual</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="175"/>
+ <source>Write notes to address field</source>
+ <translation>Graba las notas al campo dirección</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="176"/>
+ <source>Write position to address field</source>
+ <translation>Graba la posición al campo dirección</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="522"/>
+ <source>Write position using this grid.</source>
+ <translation>Graba la posición utilizando esta rejilla</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="523"/>
+ <source>Write timestamps with offset x to UTC time</source>
+ <translation>Escribir marcas de tiempo con un desplazamiento de 'x' sobre la hora UTC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="160"/>
+ <source>Write tracks compatible with Carto Exploreur</source>
+ <translation>Crear trazas compatibles con Carto Exploreur</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="422"/>
+ <source>Write tracks for Gisteq Phototracker</source>
+ <translation>Graba las trazas para el Gisteq Phototracker </translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="63"/>
+ <source>Zoom level to reduce points</source>
+ <translation>Nivel de Zoom para reducir puntos</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="9"/>
+ <source>Alan Map500 tracklogs (.trl)</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="10"/>
+ <source>Alan Map500 waypoints and routes (.wpr)</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="18"/>
+ <source>Brauniger IQ Series Barograph Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="19"/>
+ <source>Cambridge/Winpilot glider software</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="27"/>
+ <source>CarteSurTable data file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="28"/>
+ <source>Cetus for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="31"/>
+ <source>CoastalExplorer XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="32"/>
+ <source>Comma separated values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="40"/>
+ <source>CompeGPS data files (.wpt/.trk/.rte)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="45"/>
+ <source>CoPilot Flight Planner for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="46"/>
+ <source>cotoGPS for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="55"/>
+ <source>Dell Axim Navigation System (.gpb) file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="56"/>
+ <source>DeLorme .an1 (drawing) file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="66"/>
+ <source>DeLorme GPL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="67"/>
+ <source>DeLorme Street Atlas Plus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="75"/>
+ <source>DeLorme Street Atlas Route</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="81"/>
+ <source>DeLorme XMap HH Native .WPT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="89"/>
+ <source>DeLorme XMap/SAHH 2006 Native .TXT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="97"/>
+ <source>DeLorme XMat HH Street Atlas USA .WPT (PPC)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="105"/>
+ <source>Destinator Itineraries (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="106"/>
+ <source>Destinator Points of Interest (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="107"/>
+ <source>Destinator TrackLogs (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="108"/>
+ <source>EasyGPS binary format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="109"/>
+ <source>Embedded Exif-GPS data (.jpg)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="113"/>
+ <source>FAI/IGC Flight Recorder Data Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="115"/>
+ <source>Franson GPSGate Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="118"/>
+ <source>Fugawi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="126"/>
+ <source>G7ToWin data files (.g7t)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="127"/>
+ <source>Garmin 301 Custom position and heartrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="135"/>
+ <source>Garmin Logbook XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="136"/>
+ <source>Garmin MapSource - gdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="142"/>
+ <source>Garmin MapSource - mps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="149"/>
+ <source>Garmin MapSource - txt (tab delimited)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="158"/>
+ <source>Garmin PCX5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="161"/>
+ <source>Garmin POI database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="169"/>
+ <source>Garmin Points of Interest (.gpi)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="182"/>
+ <source>Garmin serial/USB protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="191"/>
+ <source>Garmin Training Centerxml</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="192"/>
+ <source>Geocaching.com .loc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="195"/>
+ <source>GeocachingDB for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="196"/>
+ <source>Geogrid Viewer tracklogs (.log)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="197"/>
+ <source>GEOnet Names Server (GNS)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="205"/>
+ <source>GeoNiche .pdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="208"/>
+ <source>GlobalSat DG-100/BT-335 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="210"/>
+ <source>Google Earth (Keyhole) Markup Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="223"/>
+ <source>Google Maps XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="224"/>
+ <source>GpilotS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="226"/>
+ <source>GPS TrackMaker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="227"/>
+ <source>GPSBabel arc filter file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="235"/>
+ <source>GpsDrive Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="243"/>
+ <source>GpsDrive Format for Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="251"/>
+ <source>GPSman</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="259"/>
+ <source>GPSPilot Tracker for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="261"/>
+ <source>gpsutil</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="262"/>
+ <source>GPX XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="268"/>
+ <source>HikeTech</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="269"/>
+ <source>Holux (gm-100) .wpo Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="270"/>
+ <source>HSA Endeavour Navigator export File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="271"/>
+ <source>HTML Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="277"/>
+ <source>IGN Rando track files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="281"/>
+ <source>Kartex 5 Track File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="289"/>
+ <source>Kartex 5 Waypoint File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="297"/>
+ <source>Kompass (DAV) Track (.tk)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="305"/>
+ <source>Kompass (DAV) Waypoints (.wp)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="313"/>
+ <source>KuDaTa PsiTrex text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="314"/>
+ <source>Lowrance USR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="319"/>
+ <source>Magellan Explorist Geocaching</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="320"/>
+ <source>Magellan Mapsend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="322"/>
+ <source>Magellan NAV Companion for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="323"/>
+ <source>Magellan SD files (as for eXplorist)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="326"/>
+ <source>Magellan SD files (as for Meridian)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="329"/>
+ <source>Magellan serial protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="335"/>
+ <source>MagicMaps IK3D project file (.ikt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="336"/>
+ <source>Map&Guide 'TourExchangeFormat' XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="338"/>
+ <source>Map&Guide to Palm/OS exported files (.pdb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="339"/>
+ <source>Mapopolis.com Mapconverter CSV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="347"/>
+ <source>MapTech Exchange Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="355"/>
+ <source>Microsoft AutoRoute 2002 (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="356"/>
+ <source>Microsoft Streets and Trips (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="357"/>
+ <source>Microsoft Streets and Trips 2002-2007</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="365"/>
+ <source>Motorrad Routenplaner (Map&Guide) .bcr files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="370"/>
+ <source>MS PocketStreets 2002 Pushpin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="371"/>
+ <source>MTK Logger (iBlue 747,...) Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="373"/>
+ <source>MTK Logger (iBlue 747,Qstarz BT-1000,...) download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="376"/>
+ <source>National Geographic Topo .tpg (waypoints)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="378"/>
+ <source>National Geographic Topo 2.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="379"/>
+ <source>National Geographic Topo 3.x/4.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="380"/>
+ <source>Navicache.com XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="382"/>
+ <source>Navigon Mobile Navigator .rte files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="384"/>
+ <source>NaviGPS GT-11/BGT-11 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="389"/>
+ <source>Navitrak DNA marker format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="397"/>
+ <source>NetStumbler Summary File (text)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="403"/>
+ <source>NIMA/GNIS Geographic Names File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="411"/>
+ <source>NMEA 0183 sentences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="423"/>
+ <source>Nokia Landmark Exchange</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="424"/>
+ <source>OpenStreetMap data files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="427"/>
+ <source>OziExplorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="436"/>
+ <source>PalmDoc Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="442"/>
+ <source>PathAway Database for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="447"/>
+ <source>Quovadis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="449"/>
+ <source>Raymarine Waypoint File (.rwf)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="451"/>
+ <source>See You flight analysis data</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="459"/>
+ <source>Sportsim track files (part of zipped .ssz files)</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="467"/>
+ <source>Suunto Trek Manager (STM) .sdf files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="469"/>
+ <source>Suunto Trek Manager (STM) WaypointPlus files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="471"/>
+ <source>Swiss Map # (.xol) format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="472"/>
+ <source>Tab delimited fields useful for OpenOffice, Ploticus etc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="480"/>
+ <source>Textual Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="487"/>
+ <source>TomTom Itineraries (.itn)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="495"/>
+ <source>TomTom POI file (.asc)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="503"/>
+ <source>TomTom POI file (.ov2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="504"/>
+ <source>TopoMapPro Places File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="505"/>
+ <source>TrackLogs digital mapping (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="507"/>
+ <source>U.S. Census Bureau Tiger Mapping Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="520"/>
+ <source>Universal csv with field structure in first line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="524"/>
+ <source>Vcard Output (for iPod)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="526"/>
+ <source>VidaOne GPS for Pocket PC (.gpb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="527"/>
+ <source>Vito Navigator II tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="528"/>
+ <source>Vito SmartMap tracks (.vtt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="529"/>
+ <source>WiFiFoFum 2.0 for PocketPC XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="535"/>
+ <source>Wintec WBT-100/200 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="536"/>
+ <source>Wintec WBT-100/200 GPS Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="538"/>
+ <source>Wintec WBT-201/G-Rays 2 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="539"/>
+ <source>Yahoo Geocode API data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="470"/>
+ <source>Index of route/track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="278"/>
+ <source>Index of track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="383"/>
+ <source>Index of route to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="468"/>
+ <source>Index of route (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="506"/>
+ <source>Index of track (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="fr_FR">
+<context>
+ <name></name>
+ <message>
+ <location filename="foo.h" line="114"/>
+ <source>(integer sec or 'auto') Barograph to GPS time diff</source>
+ <translation>(entier sec ou 'auto') Barograph de différence temporelle GPS</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="318"/>
+ <source>(USR input) Break segments into separate tracks</source>
+ <translation>(entrée USR) Séparer les segment en plusieurs traces</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="317"/>
+ <source>(USR output) Merge into one segmented track</source>
+ <translation>(sortie USR) Fusionner en une trace segmentée</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="532"/>
+ <source>Ad-hoc closed icon name</source>
+ <translation>Nom de l'icône pour Ad-hoc fermé</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="533"/>
+ <source>Ad-hoc open icon name</source>
+ <translation>Nom de l'icône pour Ad-hoc ouvert</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="178"/>
+ <source>After output job done sleep n second(s)</source>
+ <translation>Faire une pause de n secondes lorsque l'éxécution est terminée</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="497"/>
+ <source>Allow whitespace synth. shortnames</source>
+ <translation>Autoriser les espaces dans les noms courts</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="216"/>
+ <source>Altitudes are absolute and not clamped to ground</source>
+ <translation>Les altitudes sont absolue et idépendantes du sol</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="30"/>
+ <source>Append icon_descr to description</source>
+ <translation>Ajouter icon_descr à la description</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="420"/>
+ <source>Append realtime positioning data to the output file instead of truncating</source>
+ <translation>Ajoute les données de position en temps réel au fichier de sortie plutôt que de le tronquer</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="266"/>
+ <source>Base URL for link tag in output</source>
+ <translation>URL de base pour l'étiquette de lien en sortie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="500"/>
+ <source>Basename prepended to URL on output</source>
+ <translation>Nom de base à utiliser pour l'URL de sortie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="190"/>
+ <source>Bitmap of categories</source>
+ <translation>Cartographie des catégories</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="207"/>
+ <source>Category name (Cache)</source>
+ <translation>Nom de la catégorie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="189"/>
+ <source>Category number to use for written waypoints</source>
+ <translation>Numéro de catégorie pour les balises écrites</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="62"/>
+ <source>Color for lines or mapnotes</source>
+ <translation>Couleur des lignes ou des notes</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="388"/>
+ <source>Command unit to power itself down</source>
+ <translation>Ordonner au GPS de s'éteindre</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="417"/>
+ <source>Complete date-free tracks with given date (YYYYMMDD).</source>
+ <translation>Ajouter une date donnée (AAAAMMJJ) à une trace sans horodatage</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="180"/>
+ <source>Create unique waypoint names (default = yes)</source>
+ <translation>Créer des noms de balises uniques (oui par défaut)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="265"/>
+ <source>Create waypoints from geocache log entries</source>
+ <translation>Créer des balises à partir des entrés de log géocache</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="448"/>
+ <source>Database name</source>
+ <translation>Nom de la base de données</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="206"/>
+ <source>Database name (filename)</source>
+ <translation>Nom de la base de données (nom de fichier)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="377"/>
+ <source>Datum (default=NAD27)</source>
+ <translation>Datum (défaut=NAD27)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="512"/>
+ <source>Days after which points are considered old</source>
+ <translation>Nombre de jours après lesquels les points sont considérés comme anciens</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="419"/>
+ <source>Decimal seconds to pause between groups of strings</source>
+ <translation>Dixième de seconde de pause entre les groups de chaines</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="172"/>
+ <source>Default category on output</source>
+ <translation>Catégorie par défaut en sortie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="137"/>
+ <source>Default category on output (1..16)</source>
+ <translation>Catégorie par défaut en sortie (1..16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="445"/>
+ <source>Default icon name</source>
+ <translation>Nom d'icone par défaut</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="450"/>
+ <source>Default location</source>
+ <translation>Endroit par défaut</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="177"/>
+ <source>Default proximity</source>
+ <translation>Proximité par défaut</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="179"/>
+ <source>Default speed</source>
+ <translation>Vitesse par défaut</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="116"/>
+ <source>Default speed for waypoints (knots/hr)</source>
+ <translation>Vitesse par défaut pour les balises (noeuds par heures)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="484"/>
+ <source>Degrees output as 'ddd', 'dmm'(default) or 'dms'</source>
+ <translation>Ecrire les dégrés en 'd°d°d°', 'd°m'm''(défaut) ou 'd°m's'''</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="386"/>
+ <source>Delete all routes</source>
+ <translation>Supprimer toutes les routes</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="385"/>
+ <source>Delete all track points</source>
+ <translation>Supprimer tous les points de traces</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="387"/>
+ <source>Delete all waypoints</source>
+ <translation>Supprimer toutes les balises</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="221"/>
+ <source>Display labels on track and routepoints (default = 1)</source>
+ <translation>Afficher les labels sur les traces et les points de routes (défaut = 1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="152"/>
+ <source>Distance unit [m=metric, s=statute]</source>
+ <translation>Unité de distance [m = métrique, s=stature]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="59"/>
+ <source>Do not add geocache data to description</source>
+ <translation>Ne pas ajouter d'inforamtion de geocache à la description</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="60"/>
+ <source>Do not add URLs to description</source>
+ <translation>Ne pas ajouter les URLs aux descriptions</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="173"/>
+ <source>Don't show gpi bitmap on device</source>
+ <translation>Ne pas afficher les images gpi sur le périphérique</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="217"/>
+ <source>Draw extrusion line from trackpoint to ground</source>
+ <translation>Générer une ligne d'extrusion entre le sol et le point de trace</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="140"/>
+ <source>Drop route points that do not have an equivalent waypoint (hidden points)</source>
+ <translation>Eliminer les points de route qui n'ont pas de balises équivallentes (points cachés)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="170"/>
+ <source>Enable alerts on speed or proximity distance</source>
+ <translation>Activer les alertes de vitesse ou de proximité</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="525"/>
+ <source>Encrypt hints using ROT13</source>
+ <translation>Encrypter les signes en ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="439"/>
+ <source>Encrypt hints with ROT13</source>
+ <translation>Encrypter les signes avec ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="537"/>
+ <source>Erase device data after download</source>
+ <translation>Effacer les données du périphérique après téléchargement</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="212"/>
+ <source>Export linestrings for tracks and routes</source>
+ <translation>Exporter les chaînes de caractères pour les traces et les routes</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="213"/>
+ <source>Export placemarks for tracks and routes</source>
+ <translation>Exporter les marqueurs pour les traces et les routes</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="1"/>
+ <source>Full path to XCSV style file</source>
+ <translation>Chemin complet du fichier de modèle de XCSV</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="279"/>
+ <source>Generate # points</source>
+ <translation>Générer # points</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="509"/>
+ <source>Generate file with lat/lon for centering map</source>
+ <translation>Générer le fichier avec les infos de centrage de carte (lat/lon)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="43"/>
+ <source>Give points (waypoints/route points) a default radius (proximity)</source>
+ <translation>Donner un rayon de proximité par défaut aux points (balises/points de route)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="521"/>
+ <source>GPS datum (def. WGS 84)</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="518"/>
+ <source>Height in pixels of map</source>
+ <translation>Hauteur de la carte en pixels</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="315"/>
+ <source>Ignore event marker icons on read</source>
+ <translation>Ignorer les marqueurs d'événements lors de la lecture</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="218"/>
+ <source>Include extended data for trackpoints (default = 1)</source>
+ <translation>Inclure les données étendues pour les points de trace (défaut = 1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="483"/>
+ <source>Include groundspeak logs if present</source>
+ <translation>Inclure les logs groundspeak si disponible</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="141"/>
+ <source>Include major turn points (with description) from calculated route</source>
+ <translation>Inclure les points de virage (avec description) de la route calculée</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="337"/>
+ <source>Include only via stations in route</source>
+ <translation>Inclure seulement les étapes dans la route</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="441"/>
+ <source>Include short name in bookmarks</source>
+ <translation>Inclure les noms courts dans les signets</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="111"/>
+ <source>Index of name field in .dbf</source>
+ <translation>Index du champ nom dans le .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="112"/>
+ <source>Index of URL field in .dbf</source>
+ <translation>Index du champ URL dans le .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="219"/>
+ <source>Indicate direction of travel in track icons (default = 0)</source>
+ <translation>Indiquer la direction de déplacement dans les icones de la trace (défaut = 0)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="530"/>
+ <source>Infrastructure closed icon name</source>
+ <translation>Nom de l'icône pour l'Infrastructure fermée</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="531"/>
+ <source>Infrastructure open icon name</source>
+ <translation>Nom de l'icône pour l'Infrastructure ouverte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="76"/>
+ <source>Keep turns if simplify filter is used</source>
+ <translation>Garder les virages si le filtre simplifié est utilisé</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="446"/>
+ <source>Length of generated shortnames</source>
+ <translation>Longueur des nom courts générés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="44"/>
+ <source>Length of generated shortnames (default 16)</source>
+ <translation>Longueur des nom courts générés (défaut : 16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="215"/>
+ <source>Line color, specified in hex AABBGGRR</source>
+ <translation>Couleur de la ligne, spécifié en hexadécimal AABBGGRR</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="499"/>
+ <source>Make synth. shortnames unique</source>
+ <translation>Les noms courts sont tous différents</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="321"/>
+ <source>MapSend version TRK file to generate (3,4)</source>
+ <translation>Version des fichiers TRK Mapsend à générer (3,4)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="510"/>
+ <source>Margin for map. Degrees or percentage</source>
+ <translation>Marge de la carte. Degrés ou pourcentage</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="514"/>
+ <source>Marker type for new points</source>
+ <translation>Type de marqueur pour les nouveaux points</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="513"/>
+ <source>Marker type for old points</source>
+ <translation>Type de marqueur pour les anciens points</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="516"/>
+ <source>Marker type for unfound points</source>
+ <translation>Type de marqueur pour les points non trouvés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="412"/>
+ <source>Max length of waypoint name to write</source>
+ <translation>Longueur maximum du nom de la balise</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="331"/>
+ <source>Max number of comments to write (maxcmts=200)</source>
+ <translation>Nombre maximum de commentaires à écrire (maxcmts=200)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="511"/>
+ <source>Max shortname length when used with -s</source>
+ <translation>Longueur maximum du nom court lorsque utilisé avec l'option -s</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="496"/>
+ <source>Max synthesized shortname length</source>
+ <translation>Longueur max. de noms courts générés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="146"/>
+ <source>Merge output with existing file</source>
+ <translation>Fusionner la sortie avec un fichier existant</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="375"/>
+ <source>MTK compatible CSV output file</source>
+ <translation>Fichier de sortie CSV compatible MTK</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="47"/>
+ <source>Name of the 'unassigned' category</source>
+ <translation>Nom de la catégorie 'non assignée'</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="367"/>
+ <source>New name for the route</source>
+ <translation>Nouveau nom pour la route</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="437"/>
+ <source>No separator lines between waypoints</source>
+ <translation>Supprimer les lignes de séparation entre les balises</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="264"/>
+ <source>No whitespace in generated shortnames</source>
+ <translation>Supprimer les espaces dans les noms courts générés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="398"/>
+ <source>Non-stealth encrypted icon name</source>
+ <translation>Ne pas récupérer les noms d'icones encryptés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="399"/>
+ <source>Non-stealth non-encrypted icon name</source>
+ <translation>Ne pas récupérer les noms d'icones non encryptés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="332"/>
+ <source>Numeric value of bitrate (baud=4800)</source>
+ <translation>Valeur numérique de la vitesse de transfert (4800 bauds)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="194"/>
+ <source>Omit Placer name</source>
+ <translation>Omettre le nom du Placer</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="77"/>
+ <source>Only read turns; skip all other points</source>
+ <translation>Lire seulement les virages; ne pas tenire compte des autres points</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="272"/>
+ <source>Path to HTML style sheet</source>
+ <translation>Chemin vers une feuille de style HTML</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="154"/>
+ <source>Precision of coordinates</source>
+ <translation>Précision des coordonnées</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="435"/>
+ <source>Proximity distance</source>
+ <translation>Distance de proximité</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="65"/>
+ <source>Radius for circles</source>
+ <translation>Rayon des cercles</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="368"/>
+ <source>Radius of our big earth (default 6371000 meters)</source>
+ <translation>Rayon de la terre (défaut : 6371000 mètres)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="79"/>
+ <source>Read control points as waypoint/route/none</source>
+ <translation>Lire les points de contrôle en temps à la balise/route/rien</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="443"/>
+ <source>Read/Write date format (i.e. DDMMYYYY)</source>
+ <translation>Lire/Ecrire le format date (i.e. JJMMYYYY)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="150"/>
+ <source>Read/Write date format (i.e. yyyy/mm/dd)</source>
+ <translation>Lire/Ecrire le format de date (i.e. YYYY/MM/DD)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="414"/>
+ <source>Read/write GPGGA sentences</source>
+ <translation>Lire/Ecrire des séquences GPGGA</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="416"/>
+ <source>Read/write GPGSA sentences</source>
+ <translation>Lire/Ecrire des séquences GPGSA</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="413"/>
+ <source>Read/write GPRMC sentences</source>
+ <translation>Lire/Ecrire des séquences GPRMC </translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="415"/>
+ <source>Read/write GPVTG sentences</source>
+ <translation>Lire/ECrire des séquences GPVTG</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="156"/>
+ <source>Read/Write time format (i.e. HH:mm:ss xx)</source>
+ <translation>Lire/Ecrire le format horaire (i.e. HH:mm:ss xx)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="222"/>
+ <source>Retain at most this number of position points (0 = unlimited)</source>
+ <translation>Retenir au maximum ce nombre de points de positions (0 = illimité)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="418"/>
+ <source>Return current position as a waypoint</source>
+ <translation>Renvoyer la position courante en tant que balise</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="58"/>
+ <source>Road type changes</source>
+ <translation>Changement de type de route</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="110"/>
+ <source>Set waypoint name to source filename.</source>
+ <translation>Faire correspondre les nom de la balise au nom du fichier source.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="534"/>
+ <source>Shortname is MAC address</source>
+ <translation>Le nom court est l'adresse MAC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="421"/>
+ <source>Speed in bits per second of serial port (baud=4800)</source>
+ <translation>Vitesse du port série en bits par seconde (baud=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="117"/>
+ <source>Split input into separate files</source>
+ <translation>Découper l'entrée en fichiers séparés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="78"/>
+ <source>Split into multiple routes at turns</source>
+ <translation>Séparer en plusieurs routes à chaque virage</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="280"/>
+ <source>Starting seed of the internal number generator</source>
+ <translation>Racine du générateur de nombres internes</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="400"/>
+ <source>Stealth encrypted icon name</source>
+ <translation>Récupérer les noms d'icones encryptés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="401"/>
+ <source>Stealth non-encrypted icon name</source>
+ <translation>Récupérer les noms d'icones non encryptés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="540"/>
+ <source>String to separate concatenated address fields (default=", ")</source>
+ <translation>Chaine de caractère pour séparer les champs d'adresse (", " par défaut)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="508"/>
+ <source>Suppress labels on generated pins</source>
+ <translation>Supprimer les labels des points créés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="381"/>
+ <source>Suppress retired geocaches</source>
+ <translation>Suypprimer les géocaches désactivées</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="481"/>
+ <source>Suppress separator lines between waypoints</source>
+ <translation>Supprimer les lignes séparatrices entre les balises</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="333"/>
+ <source>Suppress use of handshaking in name of speed</source>
+ <translation>Supprimer les controles pour améliorer les performances</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="515"/>
+ <source>Suppress whitespace in generated shortnames</source>
+ <translation>Supprimer les espaces dans les noms courts générés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="61"/>
+ <source>Symbol to use for point data</source>
+ <translation>Symbole à utiliser pour les données de type point</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="188"/>
+ <source>Sync GPS time to computer time</source>
+ <translation>Synchroniser l'heure du GPS avec l'heure du PC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="80"/>
+ <source>Synthesize track times</source>
+ <translation>Simplifier l'horodatage des traces</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="267"/>
+ <source>Target GPX version for output</source>
+ <translation>Version du fichier GPX pour la sortie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="155"/>
+ <source>Temperature unit [c=Celsius, f=Fahrenheit]</source>
+ <translation>Unité de température (c=Celsius, f=Farenheit)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="519"/>
+ <source>The icon description is already the marker</source>
+ <translation>Les description de l'icon est identique au marqueur</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="316"/>
+ <source>Treat waypoints as icons on write</source>
+ <translation>Traiter les balises comme des icônes à l'écriture</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="57"/>
+ <source>Type of .an1 file</source>
+ <translation>Type de fichier .an1</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="485"/>
+ <source>Units for altitude (f)eet or (m)etres</source>
+ <translation>Unités d'altitude (p)ieds ou (m)ètres</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="181"/>
+ <source>Units used for names with @speed ('s'tatute or 'm'etric)</source>
+ <translation>Unités utilisées avec @vitess ('s'tatute ou 'm'étrique)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="220"/>
+ <source>Units used when writing comments ('s'tatute or 'm'etric)</source>
+ <translation>Unités utilisée lors de l'écriture de commentiares ('s'tatute ou 'm'étrique)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="498"/>
+ <source>UPPERCASE synth. shortnames</source>
+ <translation>Noms courts en MAJUSCULE</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="147"/>
+ <source>Use depth values on output (default is ignore)</source>
+ <translation>Utiliser les valeurs de profondeur sur la sortie (par défaut : ignorer)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="148"/>
+ <source>Use proximity values on output (default is ignore)</source>
+ <translation>Utiliser les valeurs de proximité sur la sortie (par défaut : ignorer)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="501"/>
+ <source>Use shortname instead of description</source>
+ <translation>Utiliser le nom court au lieu de la description</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="171"/>
+ <source>Use specified bitmap on output</source>
+ <translation>Utiliser l'images spécifiée en sortie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="139"/>
+ <source>Version of gdb file to generate (1..3)</source>
+ <translation>Version du fichier gbd à générer (1..3)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="145"/>
+ <source>Version of mapsource file to generate (3,4,5)</source>
+ <translation>Version du fichier mapsource à créer (3,4,5)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="434"/>
+ <source>Waypoint background color</source>
+ <translation>Couleur de fond de la balise</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="433"/>
+ <source>Waypoint foreground color</source>
+ <translation>Couleur de la balise</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="64"/>
+ <source>Waypoint type</source>
+ <translation>Type de balise</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="517"/>
+ <source>Width in pixels of map</source>
+ <translation>Largeur de la carte en pixels</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="214"/>
+ <source>Width of lines, in pixels</source>
+ <translation>Largeur des lignes en pixels</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="426"/>
+ <source>Write additional node tag key/value pairs</source>
+ <translation>Ecrire des étiquettes de noeuds additionnelles clé/valeurs</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="425"/>
+ <source>Write additional way tag key/value pairs</source>
+ <translation>Ecrire des étiquettes de chemins additionnelles clé/valeurs</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="428"/>
+ <source>Write all tracks into one file</source>
+ <translation>Ecrire toutes les traces dans un fichier</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="174"/>
+ <source>Write description to address field</source>
+ <translation>Ecrire la description dans le champ d'adresse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="486"/>
+ <source>Write each waypoint in a separate file</source>
+ <translation>Ecrire chaque balise dans un fichier séparé</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="175"/>
+ <source>Write notes to address field</source>
+ <translation>Ecrire les notes dans le champ d'adresse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="176"/>
+ <source>Write position to address field</source>
+ <translation>Ecrire la position dans le champ d'adresse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="522"/>
+ <source>Write position using this grid.</source>
+ <translation>Ecrire la position en utilisant cette grille.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="523"/>
+ <source>Write timestamps with offset x to UTC time</source>
+ <translation>Ecrire l'horodatage avec un décalage de x par rapport à l'heure UTC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="160"/>
+ <source>Write tracks compatible with Carto Exploreur</source>
+ <translation>Ecrire des traces compatibles avec CartoExploreur</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="422"/>
+ <source>Write tracks for Gisteq Phototracker</source>
+ <translation>Ecrire les traces pour Gisteq Phototracker</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="63"/>
+ <source>Zoom level to reduce points</source>
+ <translation>Niveau de zoom pour réduire les points</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="9"/>
+ <source>Alan Map500 tracklogs (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="10"/>
+ <source>Alan Map500 waypoints and routes (.wpr)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="18"/>
+ <source>Brauniger IQ Series Barograph Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="19"/>
+ <source>Cambridge/Winpilot glider software</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="27"/>
+ <source>CarteSurTable data file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="28"/>
+ <source>Cetus for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="31"/>
+ <source>CoastalExplorer XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="32"/>
+ <source>Comma separated values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="40"/>
+ <source>CompeGPS data files (.wpt/.trk/.rte)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="470"/>
+ <source>Index of route/track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="45"/>
+ <source>CoPilot Flight Planner for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="46"/>
+ <source>cotoGPS for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="55"/>
+ <source>Dell Axim Navigation System (.gpb) file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="56"/>
+ <source>DeLorme .an1 (drawing) file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="66"/>
+ <source>DeLorme GPL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="67"/>
+ <source>DeLorme Street Atlas Plus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="75"/>
+ <source>DeLorme Street Atlas Route</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="81"/>
+ <source>DeLorme XMap HH Native .WPT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="89"/>
+ <source>DeLorme XMap/SAHH 2006 Native .TXT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="97"/>
+ <source>DeLorme XMat HH Street Atlas USA .WPT (PPC)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="105"/>
+ <source>Destinator Itineraries (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="106"/>
+ <source>Destinator Points of Interest (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="107"/>
+ <source>Destinator TrackLogs (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="108"/>
+ <source>EasyGPS binary format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="109"/>
+ <source>Embedded Exif-GPS data (.jpg)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="113"/>
+ <source>FAI/IGC Flight Recorder Data Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="115"/>
+ <source>Franson GPSGate Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="118"/>
+ <source>Fugawi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="126"/>
+ <source>G7ToWin data files (.g7t)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="127"/>
+ <source>Garmin 301 Custom position and heartrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="135"/>
+ <source>Garmin Logbook XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="136"/>
+ <source>Garmin MapSource - gdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="142"/>
+ <source>Garmin MapSource - mps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="149"/>
+ <source>Garmin MapSource - txt (tab delimited)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="158"/>
+ <source>Garmin PCX5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="161"/>
+ <source>Garmin POI database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="169"/>
+ <source>Garmin Points of Interest (.gpi)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="182"/>
+ <source>Garmin serial/USB protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="191"/>
+ <source>Garmin Training Centerxml</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="192"/>
+ <source>Geocaching.com .loc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="195"/>
+ <source>GeocachingDB for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="196"/>
+ <source>Geogrid Viewer tracklogs (.log)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="197"/>
+ <source>GEOnet Names Server (GNS)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="205"/>
+ <source>GeoNiche .pdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="208"/>
+ <source>GlobalSat DG-100/BT-335 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="210"/>
+ <source>Google Earth (Keyhole) Markup Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="223"/>
+ <source>Google Maps XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="224"/>
+ <source>GpilotS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="226"/>
+ <source>GPS TrackMaker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="227"/>
+ <source>GPSBabel arc filter file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="235"/>
+ <source>GpsDrive Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="243"/>
+ <source>GpsDrive Format for Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="251"/>
+ <source>GPSman</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="259"/>
+ <source>GPSPilot Tracker for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="261"/>
+ <source>gpsutil</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="262"/>
+ <source>GPX XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="268"/>
+ <source>HikeTech</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="269"/>
+ <source>Holux (gm-100) .wpo Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="270"/>
+ <source>HSA Endeavour Navigator export File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="271"/>
+ <source>HTML Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="277"/>
+ <source>IGN Rando track files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="278"/>
+ <source>Index of track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="281"/>
+ <source>Kartex 5 Track File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="289"/>
+ <source>Kartex 5 Waypoint File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="297"/>
+ <source>Kompass (DAV) Track (.tk)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="305"/>
+ <source>Kompass (DAV) Waypoints (.wp)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="313"/>
+ <source>KuDaTa PsiTrex text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="314"/>
+ <source>Lowrance USR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="319"/>
+ <source>Magellan Explorist Geocaching</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="320"/>
+ <source>Magellan Mapsend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="322"/>
+ <source>Magellan NAV Companion for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="323"/>
+ <source>Magellan SD files (as for eXplorist)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="326"/>
+ <source>Magellan SD files (as for Meridian)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="329"/>
+ <source>Magellan serial protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="335"/>
+ <source>MagicMaps IK3D project file (.ikt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="336"/>
+ <source>Map&Guide 'TourExchangeFormat' XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="338"/>
+ <source>Map&Guide to Palm/OS exported files (.pdb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="339"/>
+ <source>Mapopolis.com Mapconverter CSV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="347"/>
+ <source>MapTech Exchange Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="355"/>
+ <source>Microsoft AutoRoute 2002 (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="356"/>
+ <source>Microsoft Streets and Trips (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="357"/>
+ <source>Microsoft Streets and Trips 2002-2007</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="365"/>
+ <source>Motorrad Routenplaner (Map&Guide) .bcr files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="383"/>
+ <source>Index of route to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="370"/>
+ <source>MS PocketStreets 2002 Pushpin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="371"/>
+ <source>MTK Logger (iBlue 747,...) Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="373"/>
+ <source>MTK Logger (iBlue 747,Qstarz BT-1000,...) download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="376"/>
+ <source>National Geographic Topo .tpg (waypoints)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="378"/>
+ <source>National Geographic Topo 2.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="379"/>
+ <source>National Geographic Topo 3.x/4.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="380"/>
+ <source>Navicache.com XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="382"/>
+ <source>Navigon Mobile Navigator .rte files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="384"/>
+ <source>NaviGPS GT-11/BGT-11 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="389"/>
+ <source>Navitrak DNA marker format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="397"/>
+ <source>NetStumbler Summary File (text)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="403"/>
+ <source>NIMA/GNIS Geographic Names File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="411"/>
+ <source>NMEA 0183 sentences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="423"/>
+ <source>Nokia Landmark Exchange</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="424"/>
+ <source>OpenStreetMap data files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="427"/>
+ <source>OziExplorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="436"/>
+ <source>PalmDoc Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="442"/>
+ <source>PathAway Database for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="447"/>
+ <source>Quovadis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="449"/>
+ <source>Raymarine Waypoint File (.rwf)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="451"/>
+ <source>See You flight analysis data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="459"/>
+ <source>Sportsim track files (part of zipped .ssz files)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="467"/>
+ <source>Suunto Trek Manager (STM) .sdf files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="468"/>
+ <source>Index of route (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="469"/>
+ <source>Suunto Trek Manager (STM) WaypointPlus files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="471"/>
+ <source>Swiss Map # (.xol) format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="472"/>
+ <source>Tab delimited fields useful for OpenOffice, Ploticus etc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="480"/>
+ <source>Textual Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="487"/>
+ <source>TomTom Itineraries (.itn)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="495"/>
+ <source>TomTom POI file (.asc)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="503"/>
+ <source>TomTom POI file (.ov2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="504"/>
+ <source>TopoMapPro Places File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="505"/>
+ <source>TrackLogs digital mapping (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="506"/>
+ <source>Index of track (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="507"/>
+ <source>U.S. Census Bureau Tiger Mapping Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="520"/>
+ <source>Universal csv with field structure in first line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="524"/>
+ <source>Vcard Output (for iPod)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="526"/>
+ <source>VidaOne GPS for Pocket PC (.gpb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="527"/>
+ <source>Vito Navigator II tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="528"/>
+ <source>Vito SmartMap tracks (.vtt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="529"/>
+ <source>WiFiFoFum 2.0 for PocketPC XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="535"/>
+ <source>Wintec WBT-100/200 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="536"/>
+ <source>Wintec WBT-100/200 GPS Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="538"/>
+ <source>Wintec WBT-201/G-Rays 2 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="539"/>
+ <source>Yahoo Geocode API data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="hu_HU">
+<defaultcodec></defaultcodec>
+<context>
+ <name></name>
+ <message>
+ <location filename="foo.h" line="114"/>
+ <source>(integer sec or 'auto') Barograph to GPS time diff</source>
+ <translation>Barométer adatok GPS pozícióba (másodperc vagy 'auto')</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="318"/>
+ <source>(USR input) Break segments into separate tracks</source>
+ <translation>Szegmensek külön nyomvonalakba vágása (USR bemenet)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="317"/>
+ <source>(USR output) Merge into one segmented track</source>
+ <translation>Szegmensek egy nyomvonalba føzése (USR kimenet)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="532"/>
+ <source>Ad-hoc closed icon name</source>
+ <translation>Ad-hoc zárt hálózat ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="533"/>
+ <source>Ad-hoc open icon name</source>
+ <translation>Ad-hoc nyílt hálózat ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="178"/>
+ <source>After output job done sleep n second(s)</source>
+ <translation>Feltöltés után x másodperccel kikapcsolás</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="497"/>
+ <source>Allow whitespace synth. shortnames</source>
+ <translation>Szóközök engedélyezése rövidnevek készítésekor</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="216"/>
+ <source>Altitudes are absolute and not clamped to ground</source>
+ <translation>A magasság abszolút, nincs a felszínhez kötve</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="30"/>
+ <source>Append icon_descr to description</source>
+ <translation>icon_descr hozzáføzése a megjegyzéshez</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="420"/>
+ <source>Append realtime positioning data to the output file instead of truncating</source>
+ <translation>A kimeneti fájl csonkítása helyett valósidõ hozzáføzése a pozícióhoz</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="266"/>
+ <source>Base URL for link tag in output</source>
+ <translation>Alapért. URL a hivatkozásokban</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="500"/>
+ <source>Basename prepended to URL on output</source>
+ <translation>URL elõtag eléføzése a kimenetben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="190"/>
+ <source>Bitmap of categories</source>
+ <translation>Raszter kategória</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="207"/>
+ <source>Category name (Cache)</source>
+ <translation>Kategória név (Cache)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="189"/>
+ <source>Category number to use for written waypoints</source>
+ <translation>A készülõ útpontok kategória-száma</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="62"/>
+ <source>Color for lines or mapnotes</source>
+ <translation>Vonalak és térkép-megjegyzések színe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="388"/>
+ <source>Command unit to power itself down</source>
+ <translation>Zárásként a készülék kikapcsolása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="417"/>
+ <source>Complete date-free tracks with given date (YYYYMMDD).</source>
+ <translation>Dátum nélküli nyomvonalak új idõpontja (ÉÉÉÉHHNN)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="180"/>
+ <source>Create unique waypoint names (default = yes)</source>
+ <translation>Egyedi útpont nevek (alapért. = igen)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="265"/>
+ <source>Create waypoints from geocache log entries</source>
+ <translation>Útpontok készítése a geocaching bejegyzésekbõl</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="448"/>
+ <source>Database name</source>
+ <translation>Adatbázis név</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="206"/>
+ <source>Database name (filename)</source>
+ <translation>Adatbázis név (fájlnév)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="377"/>
+ <source>Datum (default=NAD27)</source>
+ <translation>Térképdátum (alapért.=NAD27)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="512"/>
+ <source>Days after which points are considered old</source>
+ <translation>Ennyi nap után a pontok elévültnek számítanak</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="419"/>
+ <source>Decimal seconds to pause between groups of strings</source>
+ <translation>Ennyi másodpercnyi szünet az adatfolyamban</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="172"/>
+ <source>Default category on output</source>
+ <translation>Alapért. kimeneti kategória</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="137"/>
+ <source>Default category on output (1..16)</source>
+ <translation>Alapértelmezett kimeneti kategória (1.. 16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="445"/>
+ <source>Default icon name</source>
+ <translation>Alapértelmezett ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="450"/>
+ <source>Default location</source>
+ <translation>Alapértelmezett pozíció</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="177"/>
+ <source>Default proximity</source>
+ <translation>Alapért. távolság</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="179"/>
+ <source>Default speed</source>
+ <translation>Alapért. sebesség</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="116"/>
+ <source>Default speed for waypoints (knots/hr)</source>
+ <translation>Alapértelmezett sebesség a pontokhoz (csomó/ó)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="484"/>
+ <source>Degrees output as 'ddd', 'dmm'(default) or 'dms'</source>
+ <translation>Pozíció formátum 'fff', 'fpp'(alapért.) vagy 'fpm'</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="386"/>
+ <source>Delete all routes</source>
+ <translation>Minden útvonal törlése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="385"/>
+ <source>Delete all track points</source>
+ <translation>Minden nyomvonalpont törlése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="387"/>
+ <source>Delete all waypoints</source>
+ <translation>Minden útpont törlése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="221"/>
+ <source>Display labels on track and routepoints (default = 1)</source>
+ <translation>Címke megjelenítése nyomvonalakon és útvonalakon (alapért.=1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="152"/>
+ <source>Distance unit [m=metric, s=statute]</source>
+ <translation>Távolság mértékegysége [m=metrikus, s=angolszász]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="59"/>
+ <source>Do not add geocache data to description</source>
+ <translation>Geocaching információk kihagyása a megjegyzésbõl</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="60"/>
+ <source>Do not add URLs to description</source>
+ <translation>URL mezõ kihagyása a megjegyzésbõl</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="173"/>
+ <source>Don't show gpi bitmap on device</source>
+ <translation>gpi raszter rejtése a készüléken</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="217"/>
+ <source>Draw extrusion line from trackpoint to ground</source>
+ <translation>Meghosszabított vonal rajzolása útponttól felszínig</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="140"/>
+ <source>Drop route points that do not have an equivalent waypoint (hidden points)</source>
+ <translation>Útvonalpont elhagyása, aminek nincs megegyezõ útpontja (rejtett pontok)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="170"/>
+ <source>Enable alerts on speed or proximity distance</source>
+ <translation>Figyelmeztetés engedélyezése sebességnél vagy közeledéskor</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="525"/>
+ <source>Encrypt hints using ROT13</source>
+ <translation>Megjegyzések kódolása ROT13 használatával</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="439"/>
+ <source>Encrypt hints with ROT13</source>
+ <translation>Megyjegyzések kódolása ROT13-al</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="537"/>
+ <source>Erase device data after download</source>
+ <translation>A készülék memóriájának törlése letöltés után</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="212"/>
+ <source>Export linestrings for tracks and routes</source>
+ <translation>Vonal-szöveg exportálása nyomvonalakba és útvonalakba</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="213"/>
+ <source>Export placemarks for tracks and routes</source>
+ <translation>Hely-jelölések exportálása nyomvonalakba és útvonalakba</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="1"/>
+ <source>Full path to XCSV style file</source>
+ <translation>Teljes elérési út a XCSV fájlban</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="279"/>
+ <source>Generate # points</source>
+ <translation># pontok készítése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="509"/>
+ <source>Generate file with lat/lon for centering map</source>
+ <translation>Szélesség/hosszúság használata térképi kalibráláshoz</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="43"/>
+ <source>Give points (waypoints/route points) a default radius (proximity)</source>
+ <translation>Alapért. sugár megadása (útpontokhoz/útvonalpontokhoz)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="521"/>
+ <source>GPS datum (def. WGS 84)</source>
+ <translation>GPS dátum (alapért. WGS 84)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="518"/>
+ <source>Height in pixels of map</source>
+ <translation>Magasság a térképen (pixel)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="315"/>
+ <source>Ignore event marker icons on read</source>
+ <translation>Esemény pontok kihagyása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="218"/>
+ <source>Include extended data for trackpoints (default = 1)</source>
+ <translation>Bõvített információk használata a nyomvonalakban (alapért.=1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="483"/>
+ <source>Include groundspeak logs if present</source>
+ <translation>Groundspeak bejegyzések használata (ha van)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="141"/>
+ <source>Include major turn points (with description) from calculated route</source>
+ <translation>Fõ kanyarodási pontok használata a számított útvonalból (megjegyzéssel)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="337"/>
+ <source>Include only via stations in route</source>
+ <translation>Csak az állomások használata az útvonalban</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="441"/>
+ <source>Include short name in bookmarks</source>
+ <translation>Rövidnevek használata a könyvjelzõben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="111"/>
+ <source>Index of name field in .dbf</source>
+ <translation>Név mezõ hivatkozása a .dbf fájlban</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="112"/>
+ <source>Index of URL field in .dbf</source>
+ <translation>URL mezõ hivatkozása a .dbf fájlban</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="219"/>
+ <source>Indicate direction of travel in track icons (default = 0)</source>
+ <translation>Irány mutatása a nyomvonal ikonjánál</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="530"/>
+ <source>Infrastructure closed icon name</source>
+ <translation>Zárt HotSpot ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="531"/>
+ <source>Infrastructure open icon name</source>
+ <translation>Nyitott HotSpot ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="76"/>
+ <source>Keep turns if simplify filter is used</source>
+ <translation type="unfinished">Fordulópontok megtartása egyszerøsítés esetén is.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="446"/>
+ <source>Length of generated shortnames</source>
+ <translation>Rövidnevek hosszúsága</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="44"/>
+ <source>Length of generated shortnames (default 16)</source>
+ <translation>Rövidnevek hosszúsága (alapért. 16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="215"/>
+ <source>Line color, specified in hex AABBGGRR</source>
+ <translation>Vonal színe (hexa érték AABBGGRR)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="499"/>
+ <source>Make synth. shortnames unique</source>
+ <translation>A készülõ rövidnevek egyediek legyenek</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="321"/>
+ <source>MapSend version TRK file to generate (3,4)</source>
+ <translation>MapSend TRK fájl verziója (3,4)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="510"/>
+ <source>Margin for map. Degrees or percentage</source>
+ <translation>Térképi margó. Fok vagy százalék.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="514"/>
+ <source>Marker type for new points</source>
+ <translation>Új pont jele</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="513"/>
+ <source>Marker type for old points</source>
+ <translation>Régi pont jele</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="516"/>
+ <source>Marker type for unfound points</source>
+ <translation>Meg nem talált pont jele</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="412"/>
+ <source>Max length of waypoint name to write</source>
+ <translation>Útpont nevének max. hosszúsága</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="331"/>
+ <source>Max number of comments to write (maxcmts=200)</source>
+ <translation>Megjegyzés max. hossza (maxcmts=200)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="511"/>
+ <source>Max shortname length when used with -s</source>
+ <translation>Rövidnév hosszának értéke -s használatával</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="496"/>
+ <source>Max synthesized shortname length</source>
+ <translation>Elõállított rövidnevek max. hosszúsága</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="146"/>
+ <source>Merge output with existing file</source>
+ <translation>A jelenleg és a kész fájl összeføzése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="375"/>
+ <source>MTK compatible CSV output file</source>
+ <translation>MTK kompatibilis CSV készítés</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="47"/>
+ <source>Name of the 'unassigned' category</source>
+ <translation>Az 'unassigned' kategória neve</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="367"/>
+ <source>New name for the route</source>
+ <translation>Az útvonal új neve</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="437"/>
+ <source>No separator lines between waypoints</source>
+ <translation>Nincs elválasztó karakter az útpontok között</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="264"/>
+ <source>No whitespace in generated shortnames</source>
+ <translation>Szóközök mellõzése a rövidnevekben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="398"/>
+ <source>Non-stealth encrypted icon name</source>
+ <translation>Nem elcsent, titkosított ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="399"/>
+ <source>Non-stealth non-encrypted icon name</source>
+ <translation>Nem elcsent, nem titkosított ikonnév</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="332"/>
+ <source>Numeric value of bitrate (baud=4800)</source>
+ <translation>Bitráta értéke (baud=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="194"/>
+ <source>Omit Placer name</source>
+ <translation>Elhelyezõ nevének elhagyása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="77"/>
+ <source>Only read turns; skip all other points</source>
+ <translation>Csak a fordulópontok használata (a többi pont kihagyása)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="272"/>
+ <source>Path to HTML style sheet</source>
+ <translation>Hivatkozás HTML style sheet-be</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="154"/>
+ <source>Precision of coordinates</source>
+ <translation>Koordináták pontossága</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="435"/>
+ <source>Proximity distance</source>
+ <translation>Közelesédi riasztás értéke</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="65"/>
+ <source>Radius for circles</source>
+ <translation>Kör sugara</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="368"/>
+ <source>Radius of our big earth (default 6371000 meters)</source>
+ <translation>A Föld sugara (alapért. 6371000 méter)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="79"/>
+ <source>Read control points as waypoint/route/none</source>
+ <translation>Pontok beolvasása, mint útpont/útvonal/nincs</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="443"/>
+ <source>Read/Write date format (i.e. DDMMYYYY)</source>
+ <translation>Dátum formátum írása/olvasása (NN/HH/ÉÉÉÉ)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="150"/>
+ <source>Read/Write date format (i.e. yyyy/mm/dd)</source>
+ <translation>Dátum formátum írása/olvasása (éééé/hh/nn)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="414"/>
+ <source>Read/write GPGGA sentences</source>
+ <translation>GPGGA montadok írása/olvasása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="416"/>
+ <source>Read/write GPGSA sentences</source>
+ <translation>GPGSA montadok írása/olvasása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="413"/>
+ <source>Read/write GPRMC sentences</source>
+ <translation>GPRMC montadok írása/olvasása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="415"/>
+ <source>Read/write GPVTG sentences</source>
+ <translation>GPVTG montadok írása/olvasása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="156"/>
+ <source>Read/Write time format (i.e. HH:mm:ss xx)</source>
+ <translation>Idõ írása/olvasása (ÓÓ:pp:mm xx)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="222"/>
+ <source>Retain at most this number of position points (0 = unlimited)</source>
+ <translation>Max. pontszám megtartása a 'snail tail' elõállításakor (0= végtelen)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="418"/>
+ <source>Return current position as a waypoint</source>
+ <translation>Visszatérés a jelenlegi pozícióba, mint útpont</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="58"/>
+ <source>Road type changes</source>
+ <translation>Út típus változások</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="110"/>
+ <source>Set waypoint name to source filename.</source>
+ <translation>Útpont név szinkronizálása a forrással</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="534"/>
+ <source>Shortname is MAC address</source>
+ <translation>A rövidnév, mint MAC cím</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="421"/>
+ <source>Speed in bits per second of serial port (baud=4800)</source>
+ <translation>Soros port sebessége (bps; baud=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="117"/>
+ <source>Split input into separate files</source>
+ <translation>Beviteli adatok darabolása külön fájlokba</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="78"/>
+ <source>Split into multiple routes at turns</source>
+ <translation>Összetett útvonalakba és fordulópontokba darabolás</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="280"/>
+ <source>Starting seed of the internal number generator</source>
+ <translation>Kezdõérték a belsõ indexhez</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="400"/>
+ <source>Stealth encrypted icon name</source>
+ <translation>Titkosan kódolt ikonnevek</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="401"/>
+ <source>Stealth non-encrypted icon name</source>
+ <translation>Nem titkosított ikonnevek elcsenése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="540"/>
+ <source>String to separate concatenated address fields (default=", ")</source>
+ <translation>Összeføzött címnevek elválasztása (alapért.=", ")</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="508"/>
+ <source>Suppress labels on generated pins</source>
+ <translation>Címkék elhagyása a készülõ pontokon</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="381"/>
+ <source>Suppress retired geocaches</source>
+ <translation>Kiöregedett geoládák elhagyása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="481"/>
+ <source>Suppress separator lines between waypoints</source>
+ <translation>Elválasztó vonalak elhagyása útpontok között</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="333"/>
+ <source>Suppress use of handshaking in name of speed</source>
+ <translation>Kézfogás elhagyása a sebességneveknél</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="515"/>
+ <source>Suppress whitespace in generated shortnames</source>
+ <translation>Szóközök elhagyása a készülõ rövidnevekben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="61"/>
+ <source>Symbol to use for point data</source>
+ <translation>Útpontok szimbóluma</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="188"/>
+ <source>Sync GPS time to computer time</source>
+ <translation>GPS idõ szinkronizálása a számítógéppel</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="80"/>
+ <source>Synthesize track times</source>
+ <translation>Nyomvonal idejének elõállítása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="267"/>
+ <source>Target GPX version for output</source>
+ <translation>A kimeneti GPX fájl verziója</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="155"/>
+ <source>Temperature unit [c=Celsius, f=Fahrenheit]</source>
+ <translation>Hõmérséklet mértékegysége [c=Celsius, f=Fahrenheit]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="519"/>
+ <source>The icon description is already the marker</source>
+ <translation>Az ikon meghatározás már a pontjelzõben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="316"/>
+ <source>Treat waypoints as icons on write</source>
+ <translation>Útpontok ikonként való kezelése íráskor</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="57"/>
+ <source>Type of .an1 file</source>
+ <translation>A .an1 fájl típusa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="485"/>
+ <source>Units for altitude (f)eet or (m)etres</source>
+ <translation>Magasság mértékegysége (méter vagy láb)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="181"/>
+ <source>Units used for names with @speed ('s'tatute or 'm'etric)</source>
+ <translation>Sebesség mértékegysége a neveknél ('s' angolszász vagy 'm' metrikus)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="220"/>
+ <source>Units used when writing comments ('s'tatute or 'm'etric)</source>
+ <translation>Mértékegység használata a megjegyzésben ('s' angolszász vagy 'm' metrikus)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="498"/>
+ <source>UPPERCASE synth. shortnames</source>
+ <translation>NAGYBETØS rövidnevek elõállítása</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="147"/>
+ <source>Use depth values on output (default is ignore)</source>
+ <translation>Mélység adat használata a kimenetben (alapért. nincs)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="148"/>
+ <source>Use proximity values on output (default is ignore)</source>
+ <translation>Pontossági érték használata a kimenetben (alapért. nincs)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="501"/>
+ <source>Use shortname instead of description</source>
+ <translation>Rövid név használata a megyjegyzés helyett</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="171"/>
+ <source>Use specified bitmap on output</source>
+ <translation>Meghatározott raszter használata a kimenetben</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="139"/>
+ <source>Version of gdb file to generate (1..3)</source>
+ <translation>A készülõ gdb fájl típusa (1..3)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="145"/>
+ <source>Version of mapsource file to generate (3,4,5)</source>
+ <translation>A készülõ MapSource fájl típusa (3,4,5)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="434"/>
+ <source>Waypoint background color</source>
+ <translation>Útpont háttérszíne</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="433"/>
+ <source>Waypoint foreground color</source>
+ <translation>Útpont színe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="64"/>
+ <source>Waypoint type</source>
+ <translation>Útpont típusa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="517"/>
+ <source>Width in pixels of map</source>
+ <translation>Térképi szélesség (pixel)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="214"/>
+ <source>Width of lines, in pixels</source>
+ <translation>Vonalvastagság (pixel)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="426"/>
+ <source>Write additional node tag key/value pairs</source>
+ <translation>További kulcs/érték címkepár írása (pont)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="425"/>
+ <source>Write additional way tag key/value pairs</source>
+ <translation>További kulcs/érték címkepár írása (út)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="428"/>
+ <source>Write all tracks into one file</source>
+ <translation>Az összes nyomvonal összeføzése egy fájlba</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="174"/>
+ <source>Write description to address field</source>
+ <translation>Megjegyzést a cím mezõbe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="486"/>
+ <source>Write each waypoint in a separate file</source>
+ <translation>Minden útpont külön fájlba</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="175"/>
+ <source>Write notes to address field</source>
+ <translation>Megjegyzés írása a cím megjegyzésbe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="176"/>
+ <source>Write position to address field</source>
+ <translation>Pozíció írása a cím megjegyzésbe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="522"/>
+ <source>Write position using this grid.</source>
+ <translation>Pozíció készítése ezzel a ráccsal</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="523"/>
+ <source>Write timestamps with offset x to UTC time</source>
+ <translation>Idõértékek eltolása x értékkel UTC-hez képest</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="160"/>
+ <source>Write tracks compatible with Carto Exploreur</source>
+ <translation>Carto Exploreur kompatibilis nyomvonal készítése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="422"/>
+ <source>Write tracks for Gisteq Phototracker</source>
+ <translation>Gisteq Phototracker kompatibilis nyomvonal készítése</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="63"/>
+ <source>Zoom level to reduce points</source>
+ <translation>Zoom-szint a pontok szelektálásához</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="9"/>
+ <source>Alan Map500 tracklogs (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="10"/>
+ <source>Alan Map500 waypoints and routes (.wpr)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="18"/>
+ <source>Brauniger IQ Series Barograph Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="19"/>
+ <source>Cambridge/Winpilot glider software</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="27"/>
+ <source>CarteSurTable data file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="28"/>
+ <source>Cetus for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="31"/>
+ <source>CoastalExplorer XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="32"/>
+ <source>Comma separated values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="40"/>
+ <source>CompeGPS data files (.wpt/.trk/.rte)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="470"/>
+ <source>Index of route/track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="45"/>
+ <source>CoPilot Flight Planner for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="46"/>
+ <source>cotoGPS for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="55"/>
+ <source>Dell Axim Navigation System (.gpb) file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="56"/>
+ <source>DeLorme .an1 (drawing) file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="66"/>
+ <source>DeLorme GPL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="67"/>
+ <source>DeLorme Street Atlas Plus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="75"/>
+ <source>DeLorme Street Atlas Route</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="81"/>
+ <source>DeLorme XMap HH Native .WPT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="89"/>
+ <source>DeLorme XMap/SAHH 2006 Native .TXT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="97"/>
+ <source>DeLorme XMat HH Street Atlas USA .WPT (PPC)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="105"/>
+ <source>Destinator Itineraries (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="106"/>
+ <source>Destinator Points of Interest (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="107"/>
+ <source>Destinator TrackLogs (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="108"/>
+ <source>EasyGPS binary format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="109"/>
+ <source>Embedded Exif-GPS data (.jpg)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="113"/>
+ <source>FAI/IGC Flight Recorder Data Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="115"/>
+ <source>Franson GPSGate Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="118"/>
+ <source>Fugawi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="126"/>
+ <source>G7ToWin data files (.g7t)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="127"/>
+ <source>Garmin 301 Custom position and heartrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="135"/>
+ <source>Garmin Logbook XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="136"/>
+ <source>Garmin MapSource - gdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="142"/>
+ <source>Garmin MapSource - mps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="149"/>
+ <source>Garmin MapSource - txt (tab delimited)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="158"/>
+ <source>Garmin PCX5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="161"/>
+ <source>Garmin POI database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="169"/>
+ <source>Garmin Points of Interest (.gpi)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="182"/>
+ <source>Garmin serial/USB protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="191"/>
+ <source>Garmin Training Centerxml</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="192"/>
+ <source>Geocaching.com .loc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="195"/>
+ <source>GeocachingDB for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="196"/>
+ <source>Geogrid Viewer tracklogs (.log)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="197"/>
+ <source>GEOnet Names Server (GNS)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="205"/>
+ <source>GeoNiche .pdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="208"/>
+ <source>GlobalSat DG-100/BT-335 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="210"/>
+ <source>Google Earth (Keyhole) Markup Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="223"/>
+ <source>Google Maps XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="224"/>
+ <source>GpilotS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="226"/>
+ <source>GPS TrackMaker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="227"/>
+ <source>GPSBabel arc filter file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="235"/>
+ <source>GpsDrive Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="243"/>
+ <source>GpsDrive Format for Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="251"/>
+ <source>GPSman</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="259"/>
+ <source>GPSPilot Tracker for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="261"/>
+ <source>gpsutil</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="262"/>
+ <source>GPX XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="268"/>
+ <source>HikeTech</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="269"/>
+ <source>Holux (gm-100) .wpo Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="270"/>
+ <source>HSA Endeavour Navigator export File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="271"/>
+ <source>HTML Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="277"/>
+ <source>IGN Rando track files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="278"/>
+ <source>Index of track to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="281"/>
+ <source>Kartex 5 Track File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="289"/>
+ <source>Kartex 5 Waypoint File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="297"/>
+ <source>Kompass (DAV) Track (.tk)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="305"/>
+ <source>Kompass (DAV) Waypoints (.wp)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="313"/>
+ <source>KuDaTa PsiTrex text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="314"/>
+ <source>Lowrance USR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="319"/>
+ <source>Magellan Explorist Geocaching</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="320"/>
+ <source>Magellan Mapsend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="322"/>
+ <source>Magellan NAV Companion for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="323"/>
+ <source>Magellan SD files (as for eXplorist)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="326"/>
+ <source>Magellan SD files (as for Meridian)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="329"/>
+ <source>Magellan serial protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="335"/>
+ <source>MagicMaps IK3D project file (.ikt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="336"/>
+ <source>Map&Guide 'TourExchangeFormat' XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="338"/>
+ <source>Map&Guide to Palm/OS exported files (.pdb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="339"/>
+ <source>Mapopolis.com Mapconverter CSV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="347"/>
+ <source>MapTech Exchange Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="355"/>
+ <source>Microsoft AutoRoute 2002 (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="356"/>
+ <source>Microsoft Streets and Trips (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="357"/>
+ <source>Microsoft Streets and Trips 2002-2007</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="365"/>
+ <source>Motorrad Routenplaner (Map&Guide) .bcr files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="383"/>
+ <source>Index of route to write (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="370"/>
+ <source>MS PocketStreets 2002 Pushpin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="371"/>
+ <source>MTK Logger (iBlue 747,...) Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="373"/>
+ <source>MTK Logger (iBlue 747,Qstarz BT-1000,...) download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="376"/>
+ <source>National Geographic Topo .tpg (waypoints)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="378"/>
+ <source>National Geographic Topo 2.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="379"/>
+ <source>National Geographic Topo 3.x/4.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="380"/>
+ <source>Navicache.com XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="382"/>
+ <source>Navigon Mobile Navigator .rte files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="384"/>
+ <source>NaviGPS GT-11/BGT-11 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="389"/>
+ <source>Navitrak DNA marker format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="397"/>
+ <source>NetStumbler Summary File (text)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="403"/>
+ <source>NIMA/GNIS Geographic Names File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="411"/>
+ <source>NMEA 0183 sentences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="423"/>
+ <source>Nokia Landmark Exchange</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="424"/>
+ <source>OpenStreetMap data files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="427"/>
+ <source>OziExplorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="436"/>
+ <source>PalmDoc Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="442"/>
+ <source>PathAway Database for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="447"/>
+ <source>Quovadis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="449"/>
+ <source>Raymarine Waypoint File (.rwf)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="451"/>
+ <source>See You flight analysis data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="459"/>
+ <source>Sportsim track files (part of zipped .ssz files)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="467"/>
+ <source>Suunto Trek Manager (STM) .sdf files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="468"/>
+ <source>Index of route (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="469"/>
+ <source>Suunto Trek Manager (STM) WaypointPlus files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="471"/>
+ <source>Swiss Map # (.xol) format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="472"/>
+ <source>Tab delimited fields useful for OpenOffice, Ploticus etc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="480"/>
+ <source>Textual Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="487"/>
+ <source>TomTom Itineraries (.itn)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="495"/>
+ <source>TomTom POI file (.asc)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="503"/>
+ <source>TomTom POI file (.ov2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="504"/>
+ <source>TopoMapPro Places File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="505"/>
+ <source>TrackLogs digital mapping (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="506"/>
+ <source>Index of track (if more the one in source)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="507"/>
+ <source>U.S. Census Bureau Tiger Mapping Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="520"/>
+ <source>Universal csv with field structure in first line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="524"/>
+ <source>Vcard Output (for iPod)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="526"/>
+ <source>VidaOne GPS for Pocket PC (.gpb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="527"/>
+ <source>Vito Navigator II tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="528"/>
+ <source>Vito SmartMap tracks (.vtt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="529"/>
+ <source>WiFiFoFum 2.0 for PocketPC XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="535"/>
+ <source>Wintec WBT-100/200 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="536"/>
+ <source>Wintec WBT-100/200 GPS Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="538"/>
+ <source>Wintec WBT-201/G-Rays 2 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="539"/>
+ <source>Yahoo Geocode API data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="it_IT">
+<context>
+ <name></name>
+ <message>
+ <location filename="foo.h" line="114"/>
+ <source>(integer sec or 'auto') Barograph to GPS time diff</source>
+ <translation>(sec interi o 'auto') Differenza temporale tra il barografo e il GPS</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="318"/>
+ <source>(USR input) Break segments into separate tracks</source>
+ <translation>(ingresso USR) suddividi i segmenti in tracce separate</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="317"/>
+ <source>(USR output) Merge into one segmented track</source>
+ <translation>(destinazione USR) Unisci tracce segmentate in una traccia</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="532"/>
+ <source>Ad-hoc closed icon name</source>
+ <translation>Nome ad-hoc icona chiusa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="533"/>
+ <source>Ad-hoc open icon name</source>
+ <translation>Nome ad-hoc icona aperta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="178"/>
+ <source>After output job done sleep n second(s)</source>
+ <translation>Attendi n secondi dopo il termine dell'elaborazione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="497"/>
+ <source>Allow whitespace synth. shortnames</source>
+ <translation>Permetti spazi nei nomi brevi sintetizzati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="216"/>
+ <source>Altitudes are absolute and not clamped to ground</source>
+ <translation>Le quote sono assolute e non relative al terreno</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="30"/>
+ <source>Append icon_descr to description</source>
+ <translation>Aggiungi icon_descr alla descrizione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="420"/>
+ <source>Append realtime positioning data to the output file instead of truncating</source>
+ <translation>Aggiungi le informazioni sulla posizione in realtime all'uscita invece che troncarle</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="266"/>
+ <source>Base URL for link tag in output</source>
+ <translation>Url di base per i tag link in uscita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="500"/>
+ <source>Basename prepended to URL on output</source>
+ <translation>Nome base anteposto all'url in uscita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="190"/>
+ <source>Bitmap of categories</source>
+ <translation>Bitmap delle categorie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="207"/>
+ <source>Category name (Cache)</source>
+ <translation>Nome categoria (cache)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="189"/>
+ <source>Category number to use for written waypoints</source>
+ <translation>Numero categoria da usare per i punti d'interesse scritti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="62"/>
+ <source>Color for lines or mapnotes</source>
+ <translation>Colore per le linee o le note della mappa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="388"/>
+ <source>Command unit to power itself down</source>
+ <translation>Chiedi al dispositivo di spegnersi</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="417"/>
+ <source>Complete date-free tracks with given date (YYYYMMDD).</source>
+ <translation>Completa le tracce senza data con la data fornita (AAAAMMGG).</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="180"/>
+ <source>Create unique waypoint names (default = yes)</source>
+ <translation>Crea punti d'interesse con nomi univoci (predef.: yes)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="265"/>
+ <source>Create waypoints from geocache log entries</source>
+ <translation>Crea punti d'interesse dagli elementi nel registro geocache</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="448"/>
+ <source>Database name</source>
+ <translation>Nome banca dati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="206"/>
+ <source>Database name (filename)</source>
+ <translation>Nome banca dati (nome file)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="377"/>
+ <source>Datum (default=NAD27)</source>
+ <translation>Datum (predef.=NAD27)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="512"/>
+ <source>Days after which points are considered old</source>
+ <translation>Giorni dopo i quali i punti sono considerati vecchi</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="419"/>
+ <source>Decimal seconds to pause between groups of strings</source>
+ <translation>Decimi di secondo di pausa tra gruppi di stringhe</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="172"/>
+ <source>Default category on output</source>
+ <translation>Categoria predefinita in uscita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="137"/>
+ <source>Default category on output (1..16)</source>
+ <translation>Categoria predefinita in uscita (1... 16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="445"/>
+ <source>Default icon name</source>
+ <translation>Nome icona predefinita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="450"/>
+ <source>Default location</source>
+ <translation>Posizione predefinita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="177"/>
+ <source>Default proximity</source>
+ <translation>Prossimità predefinita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="179"/>
+ <source>Default speed</source>
+ <translation>Velocità predefinita</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="116"/>
+ <source>Default speed for waypoints (knots/hr)</source>
+ <translation>Velocità predefinita per i punti di interesse (nodi/ora)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="484"/>
+ <source>Degrees output as 'ddd', 'dmm'(default) or 'dms'</source>
+ <translation>Gradi in uscita come 'ggg', 'gmm' (predef.) o 'gms'</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="386"/>
+ <source>Delete all routes</source>
+ <translation>Cancella tutte le rotte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="385"/>
+ <source>Delete all track points</source>
+ <translation>Cancella tutti i punti traccia</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="387"/>
+ <source>Delete all waypoints</source>
+ <translation>Cancella tutti i punti d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="221"/>
+ <source>Display labels on track and routepoints (default = 1)</source>
+ <translation>Mostra le etichette su tracce e punti rotta (predef.=1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="152"/>
+ <source>Distance unit [m=metric, s=statute]</source>
+ <translation>Unità di lunghezza (m=metrico, s=statutario)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="59"/>
+ <source>Do not add geocache data to description</source>
+ <translation>Non aggiungere dati geocache alla descrizione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="60"/>
+ <source>Do not add URLs to description</source>
+ <translation>Non aggiungere url alla descrizione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="173"/>
+ <source>Don't show gpi bitmap on device</source>
+ <translation>Non mostrare la bitmap gpi sul dispositivo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="217"/>
+ <source>Draw extrusion line from trackpoint to ground</source>
+ <translation>Disegna linee estruse dai punti traccia al terreno</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="140"/>
+ <source>Drop route points that do not have an equivalent waypoint (hidden points)</source>
+ <translation>Ometti i punti rotta che non hanno un punto di interesse equivalente (punti nascosti)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="170"/>
+ <source>Enable alerts on speed or proximity distance</source>
+ <translation>Abilita avvisi su velocità o prossimità</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="525"/>
+ <source>Encrypt hints using ROT13</source>
+ <translation>Cripta le note usando ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="439"/>
+ <source>Encrypt hints with ROT13</source>
+ <translation>Cripta le note con ROT13</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="537"/>
+ <source>Erase device data after download</source>
+ <translation>Cancella i dati dal dispositivo dopo lo scaricamento</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="212"/>
+ <source>Export linestrings for tracks and routes</source>
+ <translation>Esporta le linee stringa da tracce e rotte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="213"/>
+ <source>Export placemarks for tracks and routes</source>
+ <translation>Esporta segnaposti da tracce e rotte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="1"/>
+ <source>Full path to XCSV style file</source>
+ <translation>Percorso completo del file di stile XCSV</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="279"/>
+ <source>Generate # points</source>
+ <translation>N° punti da creare</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="509"/>
+ <source>Generate file with lat/lon for centering map</source>
+ <translation>Crea un file con lat/lon per centrare la mappa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="43"/>
+ <source>Give points (waypoints/route points) a default radius (proximity)</source>
+ <translation>Raggio predefinito (prossimità) dei punti (d'interesse/delle rotte)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="521"/>
+ <source>GPS datum (def. WGS 84)</source>
+ <translation>Datum GPS (predef. WGS 84)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="518"/>
+ <source>Height in pixels of map</source>
+ <translation>Altezza in pixel della mappa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="315"/>
+ <source>Ignore event marker icons on read</source>
+ <translation>Ignora le icone dei marcatori in fase di lettura</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="218"/>
+ <source>Include extended data for trackpoints (default = 1)</source>
+ <translation>Includi dati estesi sui punti traccia (predef.=1)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="483"/>
+ <source>Include groundspeak logs if present</source>
+ <translation>Includi registri groundspeak se presenti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="141"/>
+ <source>Include major turn points (with description) from calculated route</source>
+ <translation>Includi i punti di svolta principali (con descrizione) dalla rotta calcolata</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="337"/>
+ <source>Include only via stations in route</source>
+ <translation>Includi solo stazioni di via nella rotta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="441"/>
+ <source>Include short name in bookmarks</source>
+ <translation>Includi nomi brevi dei segnaposti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="111"/>
+ <source>Index of name field in .dbf</source>
+ <translation>Indice del campo nome del .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="468"/>
+ <source>Index of route (if more the one in source)</source>
+ <translation>Indice della rotta (se nell'origine ce nè più d'una)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="383"/>
+ <source>Index of route to write (if more the one in source)</source>
+ <translation>Indice della rotta da scrivere (se nell'origine ce nè più d'una)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="470"/>
+ <source>Index of route/track to write (if more the one in source)</source>
+ <translation>Indice della rotta/traccia da scrivere (se nell'origine ce nè più d'una)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="506"/>
+ <source>Index of track (if more the one in source)</source>
+ <translation>Indice della traccia (se nell'origine ce nè più d'una)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="278"/>
+ <source>Index of track to write (if more the one in source)</source>
+ <translation>Indice della traccia da scrivere (se nell'origine ce nè più d'una)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="112"/>
+ <source>Index of URL field in .dbf</source>
+ <translation>Indice del campo url nel .dbf</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="219"/>
+ <source>Indicate direction of travel in track icons (default = 0)</source>
+ <translation>Indica la direzione di viaggio nelle icone di traccia (predef.=0)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="530"/>
+ <source>Infrastructure closed icon name</source>
+ <translation>Nome icona per infrastruttura chiusa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="531"/>
+ <source>Infrastructure open icon name</source>
+ <translation>Nome icona per infrastruttura aperta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="76"/>
+ <source>Keep turns if simplify filter is used</source>
+ <translation>Mantieni le svolte se si usa il filtro di semplificazione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="446"/>
+ <source>Length of generated shortnames</source>
+ <translation>Lunghezza dei nomi brevi generati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="44"/>
+ <source>Length of generated shortnames (default 16)</source>
+ <translation>Lunghezza dei nomi brevi generati (predef. 16)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="215"/>
+ <source>Line color, specified in hex AABBGGRR</source>
+ <translation>Colore delle linee, indicato in esadecimale AABBVVRR</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="499"/>
+ <source>Make synth. shortnames unique</source>
+ <translation>I nomi brevi sintetizzati vengono generati univoci</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="321"/>
+ <source>MapSend version TRK file to generate (3,4)</source>
+ <translation>Versione del file TRK di MapSen da generare (3, 4)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="510"/>
+ <source>Margin for map. Degrees or percentage</source>
+ <translation>Margine della mappa. Gradi o percentuale</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="514"/>
+ <source>Marker type for new points</source>
+ <translation>Tipo marcatore per i nuovi punti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="513"/>
+ <source>Marker type for old points</source>
+ <translation>Tipo marcatore per i vecchi punti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="516"/>
+ <source>Marker type for unfound points</source>
+ <translation>Tipo marcatore per i punti non trovati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="412"/>
+ <source>Max length of waypoint name to write</source>
+ <translation>Lunghezza massima dei nomi dei punti d'interesse da scrivere</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="331"/>
+ <source>Max number of comments to write (maxcmts=200)</source>
+ <translation>Numero massimo di commenti da scrivere (maxcmts=200)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="511"/>
+ <source>Max shortname length when used with -s</source>
+ <translation>Lunghezza massima dei nomi brevi quando si usa -s</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="496"/>
+ <source>Max synthesized shortname length</source>
+ <translation>Lunghezza massima dei nomi brevi sintetizzati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="146"/>
+ <source>Merge output with existing file</source>
+ <translation>Unisci la destinazione con un file esistente</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="375"/>
+ <source>MTK compatible CSV output file</source>
+ <translation>FIle di destinazione CVS compatibile con MTK</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="47"/>
+ <source>Name of the 'unassigned' category</source>
+ <translation>Nome della categoria 'Non assegnato'</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="367"/>
+ <source>New name for the route</source>
+ <translation>Nuovo nome della rotta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="437"/>
+ <source>No separator lines between waypoints</source>
+ <translation>Nessuna linea di separazione tra punti d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="264"/>
+ <source>No whitespace in generated shortnames</source>
+ <translation>Nessuno spazio nei nomi brevi generati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="398"/>
+ <source>Non-stealth encrypted icon name</source>
+ <translation>Nome codificato dell'icona non nascosta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="399"/>
+ <source>Non-stealth non-encrypted icon name</source>
+ <translation>Nome non codificato dell'icona non nascosta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="332"/>
+ <source>Numeric value of bitrate (baud=4800)</source>
+ <translation>Valore numerico del bitrate (baud=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="194"/>
+ <source>Omit Placer name</source>
+ <translation>Ometti nome localizzatore</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="77"/>
+ <source>Only read turns; skip all other points</source>
+ <translation>Leggi solo le svolte; tralascia tutti gli altri punti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="272"/>
+ <source>Path to HTML style sheet</source>
+ <translation>Percorso del foglio di stile html</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="154"/>
+ <source>Precision of coordinates</source>
+ <translation>Precisione delle coordinate</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="435"/>
+ <source>Proximity distance</source>
+ <translation>Distanza di prossimità</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="65"/>
+ <source>Radius for circles</source>
+ <translation>Raggio dei cerchi</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="368"/>
+ <source>Radius of our big earth (default 6371000 meters)</source>
+ <translation>Raggio della Terra (predef. 6371000 metri)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="79"/>
+ <source>Read control points as waypoint/route/none</source>
+ <translation>Leggi i punti di controllo come waypoint/route/none</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="443"/>
+ <source>Read/Write date format (i.e. DDMMYYYY)</source>
+ <translation>Formato data in lettura/scrittura (per es. DDMMYYYY)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="150"/>
+ <source>Read/Write date format (i.e. yyyy/mm/dd)</source>
+ <translation>Formato data in lettura/scrittura (per es. yyyy/mm/dd)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="414"/>
+ <source>Read/write GPGGA sentences</source>
+ <translation>Leggi/scrivi frasi GPGGA</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="416"/>
+ <source>Read/write GPGSA sentences</source>
+ <translation>Leggi/scrivi frasi GPGSA</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="413"/>
+ <source>Read/write GPRMC sentences</source>
+ <translation>Leggi/scrivi frasi GPRMC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="415"/>
+ <source>Read/write GPVTG sentences</source>
+ <translation>Leggi/scrivi frasi GPVTG</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="156"/>
+ <source>Read/Write time format (i.e. HH:mm:ss xx)</source>
+ <translation>Formato ora in lettura/scrittura (per es. HH:mm:ss xx)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="222"/>
+ <source>Retain at most this number of position points (0 = unlimited)</source>
+ <translation>Mantieni almeno questo numero di punti posizione (0=illimitati)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="418"/>
+ <source>Return current position as a waypoint</source>
+ <translation>Ritorna la posizione corrente sotto forma di punto d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="58"/>
+ <source>Road type changes</source>
+ <translation>Modifiche al tipo di strada</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="110"/>
+ <source>Set waypoint name to source filename.</source>
+ <translation>Imposta il nome del punto d'interesse dal nome del file in ingresso.</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="534"/>
+ <source>Shortname is MAC address</source>
+ <translation>Il nome breve è un indirizzo MAC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="421"/>
+ <source>Speed in bits per second of serial port (baud=4800)</source>
+ <translation>Velocità in bit/secondo della porta seriale (baud=4800)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="117"/>
+ <source>Split input into separate files</source>
+ <translation>Suddividi l'ingresso in più file separati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="78"/>
+ <source>Split into multiple routes at turns</source>
+ <translation>Suddividi in più rotte alle svolte</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="280"/>
+ <source>Starting seed of the internal number generator</source>
+ <translation>Seme iniziale del generatore interno di numeri</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="400"/>
+ <source>Stealth encrypted icon name</source>
+ <translation>Nome codificato dell'icona nascosta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="401"/>
+ <source>Stealth non-encrypted icon name</source>
+ <translation>Nome non codificato dell'icona nascosta</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="540"/>
+ <source>String to separate concatenated address fields (default=", ")</source>
+ <translation>Stringa per separare i campi indirizzo concatenati (predef.=", ")</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="508"/>
+ <source>Suppress labels on generated pins</source>
+ <translation>Ometti le etichette sugli spilli generati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="381"/>
+ <source>Suppress retired geocaches</source>
+ <translation>Ometti i geocache obsoleti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="481"/>
+ <source>Suppress separator lines between waypoints</source>
+ <translation>Ometti le linee di separazione tra punti d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="333"/>
+ <source>Suppress use of handshaking in name of speed</source>
+ <translation>Ometti l'uso dell'handshake per aumentare la velocità</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="515"/>
+ <source>Suppress whitespace in generated shortnames</source>
+ <translation>Ometti gli spazi nei nomi brevi generati</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="61"/>
+ <source>Symbol to use for point data</source>
+ <translation>Simbolo da usare per i punti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="188"/>
+ <source>Sync GPS time to computer time</source>
+ <translation>Sincronizza l'ora del GPS con quella del computer</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="80"/>
+ <source>Synthesize track times</source>
+ <translation>Sintetizza gli orari delle tracce</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="267"/>
+ <source>Target GPX version for output</source>
+ <translation>Versione GPX del file di destinazione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="155"/>
+ <source>Temperature unit [c=Celsius, f=Fahrenheit]</source>
+ <translation>Unità di temperatura [c=Celsius, f=Fahrenheit]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="519"/>
+ <source>The icon description is already the marker</source>
+ <translation>La descrizione dell'icona è già il segnaposto</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="316"/>
+ <source>Treat waypoints as icons on write</source>
+ <translation>Considera i punti d'interesse come icone in fase di scrittura</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="57"/>
+ <source>Type of .an1 file</source>
+ <translation>Tipo del file .an1</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="485"/>
+ <source>Units for altitude (f)eet or (m)etres</source>
+ <translation>Unità di misura della quota [m per metri, f per piedi]</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="181"/>
+ <source>Units used for names with @speed ('s'tatute or 'm'etric)</source>
+ <translation>Untià di misura per nomi con @speed (m: metric, s: statute)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="220"/>
+ <source>Units used when writing comments ('s'tatute or 'm'etric)</source>
+ <translation>Unità da usare quando si scrivono i commenti (m: metric, s: statute)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="498"/>
+ <source>UPPERCASE synth. shortnames</source>
+ <translation>Nomi brevi sintetizzati in MAIUSCOLO</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="147"/>
+ <source>Use depth values on output (default is ignore)</source>
+ <translation>Usa i valori di profondità nella destinazione (predef: è ignora)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="148"/>
+ <source>Use proximity values on output (default is ignore)</source>
+ <translation>Usa i valori di prossimità nella destinazione (predef. è ignora)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="501"/>
+ <source>Use shortname instead of description</source>
+ <translation>Usa il nome breve invece della descrizione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="171"/>
+ <source>Use specified bitmap on output</source>
+ <translation>Usa la bitmap specificata nella destinazione</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="139"/>
+ <source>Version of gdb file to generate (1..3)</source>
+ <translation>Versione del file gdb da generare (1... 3)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="145"/>
+ <source>Version of mapsource file to generate (3,4,5)</source>
+ <translation>Versione del file MapSource da generare (3, 4, 5)</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="434"/>
+ <source>Waypoint background color</source>
+ <translation>Colore di sfondo dei punti d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="433"/>
+ <source>Waypoint foreground color</source>
+ <translation>Colore dei punti d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="64"/>
+ <source>Waypoint type</source>
+ <translation>Tipo dei punti d'interesse</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="517"/>
+ <source>Width in pixels of map</source>
+ <translation>Larghezza in pixel della mappa</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="214"/>
+ <source>Width of lines, in pixels</source>
+ <translation>Larghezza delle linee, in pixel</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="426"/>
+ <source>Write additional node tag key/value pairs</source>
+ <translation>Scrivi coppie addizionali di tag chiave/valore per i nodi</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="425"/>
+ <source>Write additional way tag key/value pairs</source>
+ <translation>Scrivi coppie addizionali di tag chiave/valore per le vie</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="428"/>
+ <source>Write all tracks into one file</source>
+ <translation>Scrivi tutte le tracce in un solo file</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="174"/>
+ <source>Write description to address field</source>
+ <translation>Scrivi la descrizione del campo indirizzo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="486"/>
+ <source>Write each waypoint in a separate file</source>
+ <translation>Scrivi ciascun punto d'interesse in un file separato</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="175"/>
+ <source>Write notes to address field</source>
+ <translation>Scrivi le note nel campo indirizzo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="176"/>
+ <source>Write position to address field</source>
+ <translation>Scrivi la posizione del campo indirizzo</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="522"/>
+ <source>Write position using this grid.</source>
+ <translation>Scrivi la posizione usando questa griglia</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="523"/>
+ <source>Write timestamps with offset x to UTC time</source>
+ <translation>Scrivi date e ore con offset X rispetto al tempo UTC</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="160"/>
+ <source>Write tracks compatible with Carto Exploreur</source>
+ <translation>Scrivi le tracce compatibili con Carto Exploreur</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="422"/>
+ <source>Write tracks for Gisteq Phototracker</source>
+ <translation>Scrivi le tracce per Gisteq Phototracker</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="63"/>
+ <source>Zoom level to reduce points</source>
+ <translation>Livello di zoom per rigurre i punti</translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="9"/>
+ <source>Alan Map500 tracklogs (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="10"/>
+ <source>Alan Map500 waypoints and routes (.wpr)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="18"/>
+ <source>Brauniger IQ Series Barograph Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="19"/>
+ <source>Cambridge/Winpilot glider software</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="27"/>
+ <source>CarteSurTable data file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="28"/>
+ <source>Cetus for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="31"/>
+ <source>CoastalExplorer XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="32"/>
+ <source>Comma separated values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="40"/>
+ <source>CompeGPS data files (.wpt/.trk/.rte)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="45"/>
+ <source>CoPilot Flight Planner for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="46"/>
+ <source>cotoGPS for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="55"/>
+ <source>Dell Axim Navigation System (.gpb) file format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="56"/>
+ <source>DeLorme .an1 (drawing) file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="66"/>
+ <source>DeLorme GPL</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="67"/>
+ <source>DeLorme Street Atlas Plus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="75"/>
+ <source>DeLorme Street Atlas Route</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="81"/>
+ <source>DeLorme XMap HH Native .WPT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="89"/>
+ <source>DeLorme XMap/SAHH 2006 Native .TXT</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="97"/>
+ <source>DeLorme XMat HH Street Atlas USA .WPT (PPC)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="105"/>
+ <source>Destinator Itineraries (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="106"/>
+ <source>Destinator Points of Interest (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="107"/>
+ <source>Destinator TrackLogs (.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="108"/>
+ <source>EasyGPS binary format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="109"/>
+ <source>Embedded Exif-GPS data (.jpg)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="113"/>
+ <source>FAI/IGC Flight Recorder Data Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="115"/>
+ <source>Franson GPSGate Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="118"/>
+ <source>Fugawi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="126"/>
+ <source>G7ToWin data files (.g7t)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="127"/>
+ <source>Garmin 301 Custom position and heartrate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="135"/>
+ <source>Garmin Logbook XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="136"/>
+ <source>Garmin MapSource - gdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="142"/>
+ <source>Garmin MapSource - mps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="149"/>
+ <source>Garmin MapSource - txt (tab delimited)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="158"/>
+ <source>Garmin PCX5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="161"/>
+ <source>Garmin POI database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="169"/>
+ <source>Garmin Points of Interest (.gpi)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="182"/>
+ <source>Garmin serial/USB protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="191"/>
+ <source>Garmin Training Centerxml</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="192"/>
+ <source>Geocaching.com .loc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="195"/>
+ <source>GeocachingDB for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="196"/>
+ <source>Geogrid Viewer tracklogs (.log)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="197"/>
+ <source>GEOnet Names Server (GNS)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="205"/>
+ <source>GeoNiche .pdb</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="208"/>
+ <source>GlobalSat DG-100/BT-335 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="210"/>
+ <source>Google Earth (Keyhole) Markup Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="223"/>
+ <source>Google Maps XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="224"/>
+ <source>GpilotS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="226"/>
+ <source>GPS TrackMaker</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="227"/>
+ <source>GPSBabel arc filter file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="235"/>
+ <source>GpsDrive Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="243"/>
+ <source>GpsDrive Format for Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="251"/>
+ <source>GPSman</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="259"/>
+ <source>GPSPilot Tracker for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="261"/>
+ <source>gpsutil</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="262"/>
+ <source>GPX XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="268"/>
+ <source>HikeTech</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="269"/>
+ <source>Holux (gm-100) .wpo Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="270"/>
+ <source>HSA Endeavour Navigator export File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="271"/>
+ <source>HTML Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="277"/>
+ <source>IGN Rando track files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="281"/>
+ <source>Kartex 5 Track File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="289"/>
+ <source>Kartex 5 Waypoint File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="297"/>
+ <source>Kompass (DAV) Track (.tk)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="305"/>
+ <source>Kompass (DAV) Waypoints (.wp)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="313"/>
+ <source>KuDaTa PsiTrex text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="314"/>
+ <source>Lowrance USR</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="319"/>
+ <source>Magellan Explorist Geocaching</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="320"/>
+ <source>Magellan Mapsend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="322"/>
+ <source>Magellan NAV Companion for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="323"/>
+ <source>Magellan SD files (as for eXplorist)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="326"/>
+ <source>Magellan SD files (as for Meridian)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="329"/>
+ <source>Magellan serial protocol</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="335"/>
+ <source>MagicMaps IK3D project file (.ikt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="336"/>
+ <source>Map&Guide 'TourExchangeFormat' XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="338"/>
+ <source>Map&Guide to Palm/OS exported files (.pdb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="339"/>
+ <source>Mapopolis.com Mapconverter CSV</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="347"/>
+ <source>MapTech Exchange Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="355"/>
+ <source>Microsoft AutoRoute 2002 (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="356"/>
+ <source>Microsoft Streets and Trips (pin/route reader)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="357"/>
+ <source>Microsoft Streets and Trips 2002-2007</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="365"/>
+ <source>Motorrad Routenplaner (Map&Guide) .bcr files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="370"/>
+ <source>MS PocketStreets 2002 Pushpin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="371"/>
+ <source>MTK Logger (iBlue 747,...) Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="373"/>
+ <source>MTK Logger (iBlue 747,Qstarz BT-1000,...) download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="376"/>
+ <source>National Geographic Topo .tpg (waypoints)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="378"/>
+ <source>National Geographic Topo 2.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="379"/>
+ <source>National Geographic Topo 3.x/4.x .tpo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="380"/>
+ <source>Navicache.com XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="382"/>
+ <source>Navigon Mobile Navigator .rte files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="384"/>
+ <source>NaviGPS GT-11/BGT-11 Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="389"/>
+ <source>Navitrak DNA marker format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="397"/>
+ <source>NetStumbler Summary File (text)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="403"/>
+ <source>NIMA/GNIS Geographic Names File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="411"/>
+ <source>NMEA 0183 sentences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="423"/>
+ <source>Nokia Landmark Exchange</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="424"/>
+ <source>OpenStreetMap data files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="427"/>
+ <source>OziExplorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="436"/>
+ <source>PalmDoc Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="442"/>
+ <source>PathAway Database for Palm/OS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="447"/>
+ <source>Quovadis</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="449"/>
+ <source>Raymarine Waypoint File (.rwf)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="451"/>
+ <source>See You flight analysis data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="459"/>
+ <source>Sportsim track files (part of zipped .ssz files)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="467"/>
+ <source>Suunto Trek Manager (STM) .sdf files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="469"/>
+ <source>Suunto Trek Manager (STM) WaypointPlus files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="471"/>
+ <source>Swiss Map # (.xol) format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="472"/>
+ <source>Tab delimited fields useful for OpenOffice, Ploticus etc.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="480"/>
+ <source>Textual Output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="487"/>
+ <source>TomTom Itineraries (.itn)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="495"/>
+ <source>TomTom POI file (.asc)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="503"/>
+ <source>TomTom POI file (.ov2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="504"/>
+ <source>TopoMapPro Places File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="505"/>
+ <source>TrackLogs digital mapping (.trl)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="507"/>
+ <source>U.S. Census Bureau Tiger Mapping Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="520"/>
+ <source>Universal csv with field structure in first line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="524"/>
+ <source>Vcard Output (for iPod)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="526"/>
+ <source>VidaOne GPS for Pocket PC (.gpb)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="527"/>
+ <source>Vito Navigator II tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="528"/>
+ <source>Vito SmartMap tracks (.vtt)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="529"/>
+ <source>WiFiFoFum 2.0 for PocketPC XML</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="535"/>
+ <source>Wintec WBT-100/200 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="536"/>
+ <source>Wintec WBT-100/200 GPS Download</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="538"/>
+ <source>Wintec WBT-201/G-Rays 2 Binary File Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="foo.h" line="539"/>
+ <source>Yahoo Geocode API data</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+#!/bin/sh
+#
+# gpsbabelfe startup script, Adpated from googleearth startup
+#
+
+# Function to find the real directory a program resides in.
+# Feb. 17, 2000 - Sam Lantinga, Loki Entertainment Software
+FindPath()
+{
+ fullpath="`echo $1 | grep /`"
+ if [ "$fullpath" = "" ]; then
+ oIFS="$IFS"
+ IFS=:
+ for path in $PATH
+ do if [ -x "$path/$1" ]; then
+ if [ "$path" = "" ]; then
+ path="."
+ fi
+ fullpath="$path/$1"
+ break
+ fi
+ done
+ IFS="$oIFS"
+ fi
+ if [ "$fullpath" = "" ]; then
+ fullpath="$1"
+ fi
+
+ # Is the sed/ls magic portable?
+ if [ -L "$fullpath" ]; then
+ #fullpath="`ls -l "$fullpath" | awk '{print $11}'`"
+ fullpath=`ls -l "$fullpath" |sed -e 's/.* -> //' |sed -e 's/\*//'`
+ fi
+ dirname $fullpath
+}
+
+
+THIS_PATH="`FindPath $0`"
+echo $THIS_PATH
+
+
+LD_LIBRARY_PATH=.:${THIS_PATH}:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH
+
+# Let's boogie!
+if [ -x "${THIS_PATH}/gpsbabelfe-bin" ]
+then
+ cd "${THIS_PATH}/"
+ exec "./gpsbabelfe-bin" "$@"
+fi
+echo "Couldn't run GPSBabelFE (gpsbabelfe-bin). Cannot find it."
+exit 1
+
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="de_DE">
+<context>
+ <name>AboutDlg</name>
+ <message>
+ <location filename="aboutui.ui" line="13"/>
+ <source>About GPSBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="aboutui.ui" line="37"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">$appname$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;"><span style=" font-size:9pt; font-weight:400;">$babelfeversion$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009 S. Khai Mong</p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LGPL Crystal Icons by Alvarado Coehlo</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(Using backend $babelversion$)</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AdvUi</name>
+ <message>
+ <location filename="advui.ui" line="13"/>
+ <source>Global Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="22"/>
+ <source>Synthesize short names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="32"/>
+ <source>Force Selected GPS data types (nuketypes filter)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="45"/>
+ <source>Enable character set transformation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="59"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="64"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="69"/>
+ <source>1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="74"/>
+ <source>2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="79"/>
+ <source>3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="84"/>
+ <source>4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="89"/>
+ <source>5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="94"/>
+ <source>6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="99"/>
+ <source>7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="104"/>
+ <source>8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="109"/>
+ <source>9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="117"/>
+ <source>Debugging Diagnostics</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="141"/>
+ <source>Set all format input/output options to default values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="144"/>
+ <source>Default Format Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="42"/>
+ <source>Convert character set encoding between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="54"/>
+ <source>Debugging diagnostics.
+Higher number provides more deitaled diagnostics.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="19"/>
+ <source>Create smart shortened names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileDlgManager</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="70"/>
+ <source>Select input file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="optionsdlg.cpp" line="75"/>
+ <source>Select output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDialog</name>
+ <message>
+ <location filename="filterdlg.cpp" line="41"/>
+ <source>Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="44"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Wegpunkte</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="47"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="50"/>
+ <source>Miscellaneous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="101"/>
+ <source>Are you sure you want to reset all filter options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDlg</name>
+ <message>
+ <location filename="filterui.ui" line="13"/>
+ <source>Data Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="16"/>
+ <source>Data filters process and transform the data between input and output files or devices. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="84"/>
+ <source>Help</source>
+ <translation type="unfinished">Hilfe</translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainDlg</name>
+ <message>
+ <location filename="maindlg.cpp" line="315"/>
+ <source>Select one or more input files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="336"/>
+ <source>Output File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="397"/>
+ <source>Error reading format configuration. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="408"/>
+ <source>Some file/device formats were not found during initialization. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="539"/>
+ <source>Options for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="551"/>
+ <source>No valid waypoints/routes/tracks translation specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="557"/>
+ <source>No input file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="562"/>
+ <source>No output file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="577"/>
+ <source>Process "%1" did not start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="591"/>
+ <source>Process exited unsucessfully with code %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="693"/>
+ <source>Translation successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="695"/>
+ <source>Error running gpsbabel: %1
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="818"/>
+ <source>Are you sure you want to reset all format options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="842"/>
+ <source>About %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="19"/>
+ <source>GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="27"/>
+ <source>About</source>
+ <translation>Über</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="51"/>
+ <source>Help</source>
+ <translation>Hilfe</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="64"/>
+ <source>Input </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="451"/>
+ <source>File</source>
+ <translation>Datei</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="467"/>
+ <source>Device</source>
+ <translation>Gerät</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="496"/>
+ <source>Format</source>
+ <translation>Format</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="158"/>
+ <source>File Name(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="548"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="567"/>
+ <source>Device Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="605"/>
+ <source>Options</source>
+ <translation>Optionen</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="250"/>
+ <source>Translation Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="339"/>
+ <source>-</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="269"/>
+ <source>Waypoints</source>
+ <translation>Wegpunkte</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="309"/>
+ <source>Routes</source>
+ <translation>Routen</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="349"/>
+ <source>Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="388"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="424"/>
+ <source>More Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="434"/>
+ <source>Output</source>
+ <translation>Ausgabe</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="528"/>
+ <source>File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="212"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="427"/>
+ <source>Input and output formats do not support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="430"/>
+ <source>Input does not support %1; output format supports %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="433"/>
+ <source>Input format supports %1; output format does not support %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="436"/>
+ <source>Both input and output formats support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="457"/>
+ <source>waypoints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="458"/>
+ <source>tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="459"/>
+ <source>routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="866"/>
+ <source>One or more data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="868"/>
+ <source>No data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="78"/>
+ <source>If selected, input is from a file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="94"/>
+ <source>If selected, input is from a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="133"/>
+ <source>Input data format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="140"/>
+ <source>Character encoding of input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="175"/>
+ <source>Browse for one or more input files. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="204"/>
+ <source>Name of port to which input device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="232"/>
+ <source>Options for the selected input format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="266"/>
+ <source>If selected, translate waypoints.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="306"/>
+ <source>If selected, translate routes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="346"/>
+ <source>If selected, translate tracks.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="385"/>
+ <source>Data Filters between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="421"/>
+ <source>More translation options. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="448"/>
+ <source>If selected, output is to a file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="464"/>
+ <source>If selected, output is to a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="503"/>
+ <source>Output data format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="510"/>
+ <source>Character encoding of output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="545"/>
+ <source>Browse for an output file name. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="574"/>
+ <source>Name of port to which output device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="602"/>
+ <source>Options for the selected output format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="626"/>
+ <source>Output of GPSBabel translation process. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MiscFltWidget</name>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Wegpunkte</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="151"/>
+ <source>Routes</source>
+ <translation type="unfinished">Routen</translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="26"/>
+ <source>Misc. Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="35"/>
+ <source>Convert routes, waypoints and tracks to different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="38"/>
+ <source>This filter can be used to convert GPS data between different data types.
+
+Some GPS data formats support only some subset of waypoints, tracks, and routes. The transform filter allows you to convert between these types. For example, it can be used to convert a pile of waypoints (such as those from a CSV file) into a track or vice versa. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="43"/>
+ <source>Transform</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="50"/>
+ <source>Type of transformation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="57"/>
+ <source>Delete original data after transform to prevent duplicated data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="60"/>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="82"/>
+ <source>Swap Longitude and Latitudes for badly formatted data formats.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="85"/>
+ <source>Simple filter to swap the coordinate values (latitude and longitude) of all points. This can be helpful for wrong defined/coded data. Or if you think, you can use one of our xcsv formats, but latitude and longitude are in opposite order. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="88"/>
+ <source>Swap Coordinates</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDlg</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="182"/>
+ <source>Help</source>
+ <translation type="unfinished">Hilfe</translation>
+ </message>
+</context>
+<context>
+ <name>ProcessWaitDialog</name>
+ <message>
+ <location filename="processwait.cpp" line="43"/>
+ <source>Process failed to start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="46"/>
+ <source>Process crashed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="49"/>
+ <source>Process timedout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="52"/>
+ <source>Error while trying to write to process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="55"/>
+ <source>Error while trying to read from process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="59"/>
+ <source>Unknown process error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="68"/>
+ <source> ... Process GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="83"/>
+ <source>Stop Process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="154"/>
+ <source>Process did not terminate successfully</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="173"/>
+ <source>Process crashed whle running</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="formatload.cpp" line="148"/>
+ <source>Error processing formats from running process "gpsbabel -^3" at line %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RtTrkWidget</name>
+ <message>
+ <location filename="rttrkui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="16"/>
+ <source>Simplify routes and tracks by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="19"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The quality of the results will vary depending on the density of points in the original route and the length of the original route. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="39"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="58"/>
+ <source>Simplify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="81"/>
+ <source>Limit To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="88"/>
+ <source>Maximum number points in track or route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="95"/>
+ <source>Points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="117"/>
+ <source>Reverse tracks and routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="124"/>
+ <source>Reverse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="48"/>
+ <source>Simplify route by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="51"/>
+ <source> The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route.
+
+The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible.
+
+The quality of the results will vary depending on the density of points in the original route and the length of the original route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="120"/>
+ <source>The reversal is performed in the laziest way possible. Timestamps are kept with the original waypoints so the resulting track or route will have the interesting characteristic that time runs backwards. This tends to make Magellan Mapsend, in particular, do a wierd thing and place each waypoint on a separate day.
+Additionally, if you're using this to reverse a route that navigates, say, an exit ramp or a one way street, you will be in for unpleasant ride. application cares about timestamps </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TrackWidget</name>
+ <message>
+ <location filename="trackui.ui" line="13"/>
+ <source>Track Filter Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="16"/>
+ <source>This filter performs various operations on track data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="34"/>
+ <source>Track Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="41"/>
+ <source>Basic title for track</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="44"/>
+ <source>Basic title for new track(s).
+This option specifies a title for tracks generated by the track filter. By default, the title of the new track is composed of the start time of the track appended to this value.
+If this value contains a percent (%) character, it is treated as a format string for the POSIX strftime function, allowing custom time-based track names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="49"/>
+ <source>Title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="56"/>
+ <source>the title of the new track is composed of the start time of the track appended to this value. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="63"/>
+ <source>Correct trackpoint timestamps by a delta.
+This option changes the time of all trackpoints. This might be useful if your track must be moved by one or more hours because of an incorrect time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="67"/>
+ <source>Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="77"/>
+ <source>days</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="87"/>
+ <source>hours</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="97"/>
+ <source>mins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="107"/>
+ <source>secs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="135"/>
+ <source>Use track pts. after this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="123"/>
+ <source>Use only track points after this timestamp.
+
+This option is used along with the stop to discard trackpoints that were recorded outside of a specific period of time. This option specifies the beginning of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="128"/>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="142"/>
+ <source>If checked, time specified here is based on this computer's current time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="145"/>
+ <source>If checked, the times specified here are based on the local computer's time zone. Otherwise it is UTC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="148"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="176"/>
+ <source>Use track pts before this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="164"/>
+ <source> Use only track points before this timestamp.
+
+This option is used in conjunction with the start option to discard all trackpoints outside of a given period of time. This option defines the end of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="169"/>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="183"/>
+ <source>Pack all tracks into one. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="186"/>
+ <source>Pack all tracks into one.
+
+This option causes all tracks to be appended to one another to form a single track. This option does not work if any two tracks overlap in time; in that case, consider using the merge option.
+
+This option is most useful for rejoining tracks that might have been interrupted by an equipment malfunction or an overnight stop. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="193"/>
+ <source>Pack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="200"/>
+ <source>Merge multiple tracks for the same way.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="203"/>
+ <source> Merge multiple tracks for the same way.
+
+This option puts all track points from all tracks into a single track and sorts them by time stamp. Points with identical time stamps will be dropped. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="208"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="215"/>
+ <source>Split tracks. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="218"/>
+ <source>Split by date or time interval
+
+The input track will be split into several tracks depending on date of track points. If there is more than one track, use the pack option before before using this.
+
+If the input has multiple tracks, pack them together before splitting them back apart per day.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="226"/>
+ <source>Split</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="233"/>
+ <source>Synthesize GPS Fixes. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="236"/>
+ <source>Synthesize GPS fixes (PPS, DGPS, 3D, 2D, NONE).
+
+This option sets the GPS fix status for all trackpoints to the specified value. Valid values for this option are PPS, DGPS, 3D, 2D, or NONE.
+
+This option is most useful when converting from a format that doesn't contain GPS fix status to one that requires it. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="255"/>
+ <source>GPS Fixes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="263"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="268"/>
+ <source>pps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="273"/>
+ <source>dgps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="278"/>
+ <source>3d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="283"/>
+ <source>2d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="296"/>
+ <source>Synthesize course.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="299"/>
+ <source>Synthesize course.
+
+This option computes (or recomputes) a value for the GPS heading at each trackpoint. This is most useful with trackpoints from formats that don't support heading information or for trackpoints synthesized by the interpolate filter. The heading at each trackpoint is simply the course from the previous trackpoint in the track. The first trackpoint in each track is arbitrarily assigned a heading of 0 degrees. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="304"/>
+ <source>Course</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="311"/>
+ <source>Synthesize speed. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="314"/>
+ <source>Synthesize speed.
+
+This option computes a value for the GPS speed at each trackpoint. This is most useful with trackpoints from formats that don't support speed information or for trackoints synthesized by the interpolate filter. The speed at each trackpoint is the average speed from the previous trackpoint (distance divided by time). The first trackpoint in each track is assigned a speed of "unknown." </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="319"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WayPtsWidget</name>
+ <message>
+ <location filename="wayptsui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="28"/>
+ <source>Waypoints Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="35"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="38"/>
+ <source>The duplicate filter is designed to remove duplicate points based on their short name (traditionally a waypoint's name on the GPS receiver), and/or their location (to a precision of 6 decimals). This filter supports two options that specify how duplicates will be recognized, shortname and location. Generally, at least one of these options is required. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="41"/>
+ <source>Duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="54"/>
+ <source>Suppress duplicate waypoints based on name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="57"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoints based on name. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option is the one most often used with the duplicate filter. This option instructs the duplicate filter to remove any waypoints that share a short name with a waypoint that has come before. This option might be used to remove duplicates if you are merging two datasets that were each created in part from a common ancestor dataset. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="65"/>
+ <source>Short Names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="72"/>
+ <source>Suppress duplicate waypoint based on coords. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="75"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoint based on coords. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option causes the duplicate filter to remove any additional waypoint that has the same coordinates (to six decimal degrees) as a waypoint that came before. This option may be used to remove duplicate waypoints if the names are not expected to be the same. It also might be used along with the <span style=" font-family:'Courier New,courier';">shortname</span> option to remove duplicate waypoints if the names of several unrelated groups of waypoints might be the same. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="83"/>
+ <source>Locations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="90"/>
+ <source>Remove points based on proximity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="93"/>
+ <source>Maximum positional distance.
+
+This option specifies the minimum allowable distance between two points. If two points are closer than this distance, only one of them is kept. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="98"/>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="111"/>
+ <source>Maximum positional distance.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="119"/>
+ <source>Feet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="124"/>
+ <source>Meters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="132"/>
+ <source>Include points only within radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="135"/>
+ <source>This filter includes or excludes waypoints based on their proximity to a central point. All waypoints more than the specified distance from the specified point will be removed from the dataset.
+
+By default, all remaining points are sorted so that points closer to the center appear earlier in the output file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="140"/>
+ <source>Radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="153"/>
+ <source>Maximum distance from center. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="161"/>
+ <source>Miles</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="166"/>
+ <source>km</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="174"/>
+ <source>Lat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="187"/>
+ <source>Latitude of the central point in decimal degrees. South latitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="194"/>
+ <source>Long.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="207"/>
+ <source>Longitude of the central point in decimal degrees. West longitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="217"/>
+ <source>This filter sorts waypoints into alphabetical order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="220"/>
+ <source>Sort</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="es_ES">
+<context>
+ <name>AboutDlg</name>
+ <message>
+ <location filename="aboutui.ui" line="13"/>
+ <source>About GPSBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="aboutui.ui" line="37"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">$appname$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;"><span style=" font-size:9pt; font-weight:400;">$babelfeversion$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009 S. Khai Mong</p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LGPL Crystal Icons by Alvarado Coehlo</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(Using backend $babelversion$)</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AdvUi</name>
+ <message>
+ <location filename="advui.ui" line="13"/>
+ <source>Global Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="22"/>
+ <source>Synthesize short names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="32"/>
+ <source>Force Selected GPS data types (nuketypes filter)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="45"/>
+ <source>Enable character set transformation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="59"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="64"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="69"/>
+ <source>1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="74"/>
+ <source>2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="79"/>
+ <source>3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="84"/>
+ <source>4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="89"/>
+ <source>5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="94"/>
+ <source>6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="99"/>
+ <source>7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="104"/>
+ <source>8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="109"/>
+ <source>9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="117"/>
+ <source>Debugging Diagnostics</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="141"/>
+ <source>Set all format input/output options to default values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="144"/>
+ <source>Default Format Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="42"/>
+ <source>Convert character set encoding between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="54"/>
+ <source>Debugging diagnostics.
+Higher number provides more deitaled diagnostics.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="19"/>
+ <source>Create smart shortened names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileDlgManager</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="70"/>
+ <source>Select input file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="optionsdlg.cpp" line="75"/>
+ <source>Select output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDialog</name>
+ <message>
+ <location filename="filterdlg.cpp" line="41"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Trazas</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="44"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Registros de trazado</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="47"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="50"/>
+ <source>Miscellaneous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="101"/>
+ <source>Are you sure you want to reset all filter options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDlg</name>
+ <message>
+ <location filename="filterui.ui" line="13"/>
+ <source>Data Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="16"/>
+ <source>Data filters process and transform the data between input and output files or devices. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="84"/>
+ <source>Help</source>
+ <translation type="unfinished">Ayuda</translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainDlg</name>
+ <message>
+ <location filename="maindlg.cpp" line="315"/>
+ <source>Select one or more input files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="336"/>
+ <source>Output File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="397"/>
+ <source>Error reading format configuration. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="408"/>
+ <source>Some file/device formats were not found during initialization. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="539"/>
+ <source>Options for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="551"/>
+ <source>No valid waypoints/routes/tracks translation specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="557"/>
+ <source>No input file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="562"/>
+ <source>No output file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="577"/>
+ <source>Process "%1" did not start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="591"/>
+ <source>Process exited unsucessfully with code %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="693"/>
+ <source>Translation successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="695"/>
+ <source>Error running gpsbabel: %1
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="818"/>
+ <source>Are you sure you want to reset all format options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="842"/>
+ <source>About %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="19"/>
+ <source>GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="27"/>
+ <source>About</source>
+ <translation>Acerca de...</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="51"/>
+ <source>Help</source>
+ <translation>Ayuda</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="64"/>
+ <source>Input </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="451"/>
+ <source>File</source>
+ <translation>Archivo</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="467"/>
+ <source>Device</source>
+ <translation>Dispositivo</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="496"/>
+ <source>Format</source>
+ <translation>Formato</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="158"/>
+ <source>File Name(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="548"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="567"/>
+ <source>Device Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="605"/>
+ <source>Options</source>
+ <translation>Opciones</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="250"/>
+ <source>Translation Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="339"/>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="269"/>
+ <source>Waypoints</source>
+ <translation>Registros de trazado</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="309"/>
+ <source>Routes</source>
+ <translation>Rutas</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="349"/>
+ <source>Tracks</source>
+ <translation>Trazas</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="388"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="424"/>
+ <source>More Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="434"/>
+ <source>Output</source>
+ <translation>Salida</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="528"/>
+ <source>File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="212"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="427"/>
+ <source>Input and output formats do not support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="430"/>
+ <source>Input does not support %1; output format supports %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="433"/>
+ <source>Input format supports %1; output format does not support %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="436"/>
+ <source>Both input and output formats support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="457"/>
+ <source>waypoints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="458"/>
+ <source>tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="459"/>
+ <source>routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="866"/>
+ <source>One or more data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="868"/>
+ <source>No data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="78"/>
+ <source>If selected, input is from a file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="94"/>
+ <source>If selected, input is from a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="133"/>
+ <source>Input data format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="140"/>
+ <source>Character encoding of input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="175"/>
+ <source>Browse for one or more input files. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="204"/>
+ <source>Name of port to which input device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="232"/>
+ <source>Options for the selected input format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="266"/>
+ <source>If selected, translate waypoints.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="306"/>
+ <source>If selected, translate routes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="346"/>
+ <source>If selected, translate tracks.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="385"/>
+ <source>Data Filters between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="421"/>
+ <source>More translation options. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="448"/>
+ <source>If selected, output is to a file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="464"/>
+ <source>If selected, output is to a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="503"/>
+ <source>Output data format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="510"/>
+ <source>Character encoding of output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="545"/>
+ <source>Browse for an output file name. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="574"/>
+ <source>Name of port to which output device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="602"/>
+ <source>Options for the selected output format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="626"/>
+ <source>Output of GPSBabel translation process. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MiscFltWidget</name>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Trazas</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Registros de trazado</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="151"/>
+ <source>Routes</source>
+ <translation type="unfinished">Rutas</translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="26"/>
+ <source>Misc. Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="35"/>
+ <source>Convert routes, waypoints and tracks to different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="38"/>
+ <source>This filter can be used to convert GPS data between different data types.
+
+Some GPS data formats support only some subset of waypoints, tracks, and routes. The transform filter allows you to convert between these types. For example, it can be used to convert a pile of waypoints (such as those from a CSV file) into a track or vice versa. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="43"/>
+ <source>Transform</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="50"/>
+ <source>Type of transformation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="57"/>
+ <source>Delete original data after transform to prevent duplicated data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="60"/>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="82"/>
+ <source>Swap Longitude and Latitudes for badly formatted data formats.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="85"/>
+ <source>Simple filter to swap the coordinate values (latitude and longitude) of all points. This can be helpful for wrong defined/coded data. Or if you think, you can use one of our xcsv formats, but latitude and longitude are in opposite order. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="88"/>
+ <source>Swap Coordinates</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDlg</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="182"/>
+ <source>Help</source>
+ <translation>Ayuda</translation>
+ </message>
+</context>
+<context>
+ <name>ProcessWaitDialog</name>
+ <message>
+ <location filename="processwait.cpp" line="43"/>
+ <source>Process failed to start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="46"/>
+ <source>Process crashed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="49"/>
+ <source>Process timedout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="52"/>
+ <source>Error while trying to write to process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="55"/>
+ <source>Error while trying to read from process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="59"/>
+ <source>Unknown process error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="68"/>
+ <source> ... Process GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="83"/>
+ <source>Stop Process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="154"/>
+ <source>Process did not terminate successfully</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="173"/>
+ <source>Process crashed whle running</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="formatload.cpp" line="148"/>
+ <source>Error processing formats from running process "gpsbabel -^3" at line %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RtTrkWidget</name>
+ <message>
+ <location filename="rttrkui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="16"/>
+ <source>Simplify routes and tracks by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="19"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The quality of the results will vary depending on the density of points in the original route and the length of the original route. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="39"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="58"/>
+ <source>Simplify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="81"/>
+ <source>Limit To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="88"/>
+ <source>Maximum number points in track or route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="95"/>
+ <source>Points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="117"/>
+ <source>Reverse tracks and routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="124"/>
+ <source>Reverse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="48"/>
+ <source>Simplify route by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="51"/>
+ <source> The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route.
+
+The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible.
+
+The quality of the results will vary depending on the density of points in the original route and the length of the original route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="120"/>
+ <source>The reversal is performed in the laziest way possible. Timestamps are kept with the original waypoints so the resulting track or route will have the interesting characteristic that time runs backwards. This tends to make Magellan Mapsend, in particular, do a wierd thing and place each waypoint on a separate day.
+Additionally, if you're using this to reverse a route that navigates, say, an exit ramp or a one way street, you will be in for unpleasant ride. application cares about timestamps </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TrackWidget</name>
+ <message>
+ <location filename="trackui.ui" line="13"/>
+ <source>Track Filter Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="16"/>
+ <source>This filter performs various operations on track data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="34"/>
+ <source>Track Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="41"/>
+ <source>Basic title for track</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="44"/>
+ <source>Basic title for new track(s).
+This option specifies a title for tracks generated by the track filter. By default, the title of the new track is composed of the start time of the track appended to this value.
+If this value contains a percent (%) character, it is treated as a format string for the POSIX strftime function, allowing custom time-based track names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="49"/>
+ <source>Title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="56"/>
+ <source>the title of the new track is composed of the start time of the track appended to this value. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="63"/>
+ <source>Correct trackpoint timestamps by a delta.
+This option changes the time of all trackpoints. This might be useful if your track must be moved by one or more hours because of an incorrect time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="67"/>
+ <source>Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="77"/>
+ <source>days</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="87"/>
+ <source>hours</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="97"/>
+ <source>mins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="107"/>
+ <source>secs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="135"/>
+ <source>Use track pts. after this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="123"/>
+ <source>Use only track points after this timestamp.
+
+This option is used along with the stop to discard trackpoints that were recorded outside of a specific period of time. This option specifies the beginning of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="128"/>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="142"/>
+ <source>If checked, time specified here is based on this computer's current time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="145"/>
+ <source>If checked, the times specified here are based on the local computer's time zone. Otherwise it is UTC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="148"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="176"/>
+ <source>Use track pts before this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="164"/>
+ <source> Use only track points before this timestamp.
+
+This option is used in conjunction with the start option to discard all trackpoints outside of a given period of time. This option defines the end of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="169"/>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="183"/>
+ <source>Pack all tracks into one. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="186"/>
+ <source>Pack all tracks into one.
+
+This option causes all tracks to be appended to one another to form a single track. This option does not work if any two tracks overlap in time; in that case, consider using the merge option.
+
+This option is most useful for rejoining tracks that might have been interrupted by an equipment malfunction or an overnight stop. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="193"/>
+ <source>Pack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="200"/>
+ <source>Merge multiple tracks for the same way.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="203"/>
+ <source> Merge multiple tracks for the same way.
+
+This option puts all track points from all tracks into a single track and sorts them by time stamp. Points with identical time stamps will be dropped. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="208"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="215"/>
+ <source>Split tracks. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="218"/>
+ <source>Split by date or time interval
+
+The input track will be split into several tracks depending on date of track points. If there is more than one track, use the pack option before before using this.
+
+If the input has multiple tracks, pack them together before splitting them back apart per day.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="226"/>
+ <source>Split</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="233"/>
+ <source>Synthesize GPS Fixes. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="236"/>
+ <source>Synthesize GPS fixes (PPS, DGPS, 3D, 2D, NONE).
+
+This option sets the GPS fix status for all trackpoints to the specified value. Valid values for this option are PPS, DGPS, 3D, 2D, or NONE.
+
+This option is most useful when converting from a format that doesn't contain GPS fix status to one that requires it. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="255"/>
+ <source>GPS Fixes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="263"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="268"/>
+ <source>pps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="273"/>
+ <source>dgps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="278"/>
+ <source>3d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="283"/>
+ <source>2d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="296"/>
+ <source>Synthesize course.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="299"/>
+ <source>Synthesize course.
+
+This option computes (or recomputes) a value for the GPS heading at each trackpoint. This is most useful with trackpoints from formats that don't support heading information or for trackpoints synthesized by the interpolate filter. The heading at each trackpoint is simply the course from the previous trackpoint in the track. The first trackpoint in each track is arbitrarily assigned a heading of 0 degrees. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="304"/>
+ <source>Course</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="311"/>
+ <source>Synthesize speed. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="314"/>
+ <source>Synthesize speed.
+
+This option computes a value for the GPS speed at each trackpoint. This is most useful with trackpoints from formats that don't support speed information or for trackoints synthesized by the interpolate filter. The speed at each trackpoint is the average speed from the previous trackpoint (distance divided by time). The first trackpoint in each track is assigned a speed of "unknown." </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="319"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WayPtsWidget</name>
+ <message>
+ <location filename="wayptsui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="28"/>
+ <source>Waypoints Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="35"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="38"/>
+ <source>The duplicate filter is designed to remove duplicate points based on their short name (traditionally a waypoint's name on the GPS receiver), and/or their location (to a precision of 6 decimals). This filter supports two options that specify how duplicates will be recognized, shortname and location. Generally, at least one of these options is required. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="41"/>
+ <source>Duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="54"/>
+ <source>Suppress duplicate waypoints based on name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="57"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoints based on name. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option is the one most often used with the duplicate filter. This option instructs the duplicate filter to remove any waypoints that share a short name with a waypoint that has come before. This option might be used to remove duplicates if you are merging two datasets that were each created in part from a common ancestor dataset. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="65"/>
+ <source>Short Names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="72"/>
+ <source>Suppress duplicate waypoint based on coords. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="75"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoint based on coords. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option causes the duplicate filter to remove any additional waypoint that has the same coordinates (to six decimal degrees) as a waypoint that came before. This option may be used to remove duplicate waypoints if the names are not expected to be the same. It also might be used along with the <span style=" font-family:'Courier New,courier';">shortname</span> option to remove duplicate waypoints if the names of several unrelated groups of waypoints might be the same. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="83"/>
+ <source>Locations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="90"/>
+ <source>Remove points based on proximity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="93"/>
+ <source>Maximum positional distance.
+
+This option specifies the minimum allowable distance between two points. If two points are closer than this distance, only one of them is kept. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="98"/>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="111"/>
+ <source>Maximum positional distance.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="119"/>
+ <source>Feet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="124"/>
+ <source>Meters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="132"/>
+ <source>Include points only within radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="135"/>
+ <source>This filter includes or excludes waypoints based on their proximity to a central point. All waypoints more than the specified distance from the specified point will be removed from the dataset.
+
+By default, all remaining points are sorted so that points closer to the center appear earlier in the output file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="140"/>
+ <source>Radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="153"/>
+ <source>Maximum distance from center. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="161"/>
+ <source>Miles</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="166"/>
+ <source>km</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="174"/>
+ <source>Lat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="187"/>
+ <source>Latitude of the central point in decimal degrees. South latitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="194"/>
+ <source>Long.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="207"/>
+ <source>Longitude of the central point in decimal degrees. West longitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="217"/>
+ <source>This filter sorts waypoints into alphabetical order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="220"/>
+ <source>Sort</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="fr_FR">
+<context>
+ <name>AboutDlg</name>
+ <message>
+ <location filename="aboutui.ui" line="13"/>
+ <source>About GPSBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="aboutui.ui" line="37"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">$appname$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;"><span style=" font-size:9pt; font-weight:400;">$babelfeversion$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009 S. Khai Mong</p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LGPL Crystal Icons by Alvarado Coehlo</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(Using backend $babelversion$)</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AdvUi</name>
+ <message>
+ <location filename="advui.ui" line="13"/>
+ <source>Global Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="22"/>
+ <source>Synthesize short names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="32"/>
+ <source>Force Selected GPS data types (nuketypes filter)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="45"/>
+ <source>Enable character set transformation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="59"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="64"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="69"/>
+ <source>1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="74"/>
+ <source>2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="79"/>
+ <source>3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="84"/>
+ <source>4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="89"/>
+ <source>5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="94"/>
+ <source>6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="99"/>
+ <source>7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="104"/>
+ <source>8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="109"/>
+ <source>9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="117"/>
+ <source>Debugging Diagnostics</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="141"/>
+ <source>Set all format input/output options to default values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="144"/>
+ <source>Default Format Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="42"/>
+ <source>Convert character set encoding between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="54"/>
+ <source>Debugging diagnostics.
+Higher number provides more deitaled diagnostics.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="19"/>
+ <source>Create smart shortened names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileDlgManager</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="70"/>
+ <source>Select input file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="optionsdlg.cpp" line="75"/>
+ <source>Select output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDialog</name>
+ <message>
+ <location filename="filterdlg.cpp" line="41"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Traces</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="44"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Waypoints</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="47"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="50"/>
+ <source>Miscellaneous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="101"/>
+ <source>Are you sure you want to reset all filter options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDlg</name>
+ <message>
+ <location filename="filterui.ui" line="13"/>
+ <source>Data Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="16"/>
+ <source>Data filters process and transform the data between input and output files or devices. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="84"/>
+ <source>Help</source>
+ <translation type="unfinished">Aide</translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainDlg</name>
+ <message>
+ <location filename="maindlg.cpp" line="315"/>
+ <source>Select one or more input files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="336"/>
+ <source>Output File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="397"/>
+ <source>Error reading format configuration. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="408"/>
+ <source>Some file/device formats were not found during initialization. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="539"/>
+ <source>Options for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="551"/>
+ <source>No valid waypoints/routes/tracks translation specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="557"/>
+ <source>No input file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="562"/>
+ <source>No output file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="577"/>
+ <source>Process "%1" did not start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="591"/>
+ <source>Process exited unsucessfully with code %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="693"/>
+ <source>Translation successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="695"/>
+ <source>Error running gpsbabel: %1
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="818"/>
+ <source>Are you sure you want to reset all format options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="842"/>
+ <source>About %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="19"/>
+ <source>GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="27"/>
+ <source>About</source>
+ <translation type="unfinished">A propos</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="51"/>
+ <source>Help</source>
+ <translation type="unfinished">Aide</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="64"/>
+ <source>Input </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="451"/>
+ <source>File</source>
+ <translation type="unfinished">Fichier</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="467"/>
+ <source>Device</source>
+ <translation type="unfinished">Périphérique</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="496"/>
+ <source>Format</source>
+ <translation type="unfinished">Format</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="158"/>
+ <source>File Name(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="548"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="567"/>
+ <source>Device Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="605"/>
+ <source>Options</source>
+ <translation type="unfinished">Options</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="250"/>
+ <source>Translation Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="339"/>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="269"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Waypoints</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="309"/>
+ <source>Routes</source>
+ <translation type="unfinished">Routes</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="349"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Traces</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="388"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="424"/>
+ <source>More Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="434"/>
+ <source>Output</source>
+ <translation type="unfinished">Sortie</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="528"/>
+ <source>File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="212"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="427"/>
+ <source>Input and output formats do not support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="430"/>
+ <source>Input does not support %1; output format supports %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="433"/>
+ <source>Input format supports %1; output format does not support %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="436"/>
+ <source>Both input and output formats support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="457"/>
+ <source>waypoints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="458"/>
+ <source>tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="459"/>
+ <source>routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="866"/>
+ <source>One or more data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="868"/>
+ <source>No data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="78"/>
+ <source>If selected, input is from a file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="94"/>
+ <source>If selected, input is from a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="133"/>
+ <source>Input data format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="140"/>
+ <source>Character encoding of input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="175"/>
+ <source>Browse for one or more input files. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="204"/>
+ <source>Name of port to which input device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="232"/>
+ <source>Options for the selected input format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="266"/>
+ <source>If selected, translate waypoints.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="306"/>
+ <source>If selected, translate routes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="346"/>
+ <source>If selected, translate tracks.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="385"/>
+ <source>Data Filters between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="421"/>
+ <source>More translation options. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="448"/>
+ <source>If selected, output is to a file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="464"/>
+ <source>If selected, output is to a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="503"/>
+ <source>Output data format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="510"/>
+ <source>Character encoding of output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="545"/>
+ <source>Browse for an output file name. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="574"/>
+ <source>Name of port to which output device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="602"/>
+ <source>Options for the selected output format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="626"/>
+ <source>Output of GPSBabel translation process. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MiscFltWidget</name>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Traces</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Waypoints</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="151"/>
+ <source>Routes</source>
+ <translation type="unfinished">Routes</translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="26"/>
+ <source>Misc. Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="35"/>
+ <source>Convert routes, waypoints and tracks to different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="38"/>
+ <source>This filter can be used to convert GPS data between different data types.
+
+Some GPS data formats support only some subset of waypoints, tracks, and routes. The transform filter allows you to convert between these types. For example, it can be used to convert a pile of waypoints (such as those from a CSV file) into a track or vice versa. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="43"/>
+ <source>Transform</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="50"/>
+ <source>Type of transformation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="57"/>
+ <source>Delete original data after transform to prevent duplicated data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="60"/>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="82"/>
+ <source>Swap Longitude and Latitudes for badly formatted data formats.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="85"/>
+ <source>Simple filter to swap the coordinate values (latitude and longitude) of all points. This can be helpful for wrong defined/coded data. Or if you think, you can use one of our xcsv formats, but latitude and longitude are in opposite order. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="88"/>
+ <source>Swap Coordinates</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDlg</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="182"/>
+ <source>Help</source>
+ <translation type="unfinished">Aide</translation>
+ </message>
+</context>
+<context>
+ <name>ProcessWaitDialog</name>
+ <message>
+ <location filename="processwait.cpp" line="43"/>
+ <source>Process failed to start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="46"/>
+ <source>Process crashed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="49"/>
+ <source>Process timedout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="52"/>
+ <source>Error while trying to write to process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="55"/>
+ <source>Error while trying to read from process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="59"/>
+ <source>Unknown process error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="68"/>
+ <source> ... Process GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="83"/>
+ <source>Stop Process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="154"/>
+ <source>Process did not terminate successfully</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="173"/>
+ <source>Process crashed whle running</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="formatload.cpp" line="148"/>
+ <source>Error processing formats from running process "gpsbabel -^3" at line %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RtTrkWidget</name>
+ <message>
+ <location filename="rttrkui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="16"/>
+ <source>Simplify routes and tracks by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="19"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The quality of the results will vary depending on the density of points in the original route and the length of the original route. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="39"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="58"/>
+ <source>Simplify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="81"/>
+ <source>Limit To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="88"/>
+ <source>Maximum number points in track or route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="95"/>
+ <source>Points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="117"/>
+ <source>Reverse tracks and routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="124"/>
+ <source>Reverse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="48"/>
+ <source>Simplify route by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="51"/>
+ <source> The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route.
+
+The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible.
+
+The quality of the results will vary depending on the density of points in the original route and the length of the original route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="120"/>
+ <source>The reversal is performed in the laziest way possible. Timestamps are kept with the original waypoints so the resulting track or route will have the interesting characteristic that time runs backwards. This tends to make Magellan Mapsend, in particular, do a wierd thing and place each waypoint on a separate day.
+Additionally, if you're using this to reverse a route that navigates, say, an exit ramp or a one way street, you will be in for unpleasant ride. application cares about timestamps </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TrackWidget</name>
+ <message>
+ <location filename="trackui.ui" line="13"/>
+ <source>Track Filter Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="16"/>
+ <source>This filter performs various operations on track data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="34"/>
+ <source>Track Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="41"/>
+ <source>Basic title for track</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="44"/>
+ <source>Basic title for new track(s).
+This option specifies a title for tracks generated by the track filter. By default, the title of the new track is composed of the start time of the track appended to this value.
+If this value contains a percent (%) character, it is treated as a format string for the POSIX strftime function, allowing custom time-based track names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="49"/>
+ <source>Title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="56"/>
+ <source>the title of the new track is composed of the start time of the track appended to this value. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="63"/>
+ <source>Correct trackpoint timestamps by a delta.
+This option changes the time of all trackpoints. This might be useful if your track must be moved by one or more hours because of an incorrect time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="67"/>
+ <source>Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="77"/>
+ <source>days</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="87"/>
+ <source>hours</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="97"/>
+ <source>mins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="107"/>
+ <source>secs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="135"/>
+ <source>Use track pts. after this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="123"/>
+ <source>Use only track points after this timestamp.
+
+This option is used along with the stop to discard trackpoints that were recorded outside of a specific period of time. This option specifies the beginning of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="128"/>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="142"/>
+ <source>If checked, time specified here is based on this computer's current time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="145"/>
+ <source>If checked, the times specified here are based on the local computer's time zone. Otherwise it is UTC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="148"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="176"/>
+ <source>Use track pts before this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="164"/>
+ <source> Use only track points before this timestamp.
+
+This option is used in conjunction with the start option to discard all trackpoints outside of a given period of time. This option defines the end of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="169"/>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="183"/>
+ <source>Pack all tracks into one. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="186"/>
+ <source>Pack all tracks into one.
+
+This option causes all tracks to be appended to one another to form a single track. This option does not work if any two tracks overlap in time; in that case, consider using the merge option.
+
+This option is most useful for rejoining tracks that might have been interrupted by an equipment malfunction or an overnight stop. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="193"/>
+ <source>Pack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="200"/>
+ <source>Merge multiple tracks for the same way.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="203"/>
+ <source> Merge multiple tracks for the same way.
+
+This option puts all track points from all tracks into a single track and sorts them by time stamp. Points with identical time stamps will be dropped. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="208"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="215"/>
+ <source>Split tracks. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="218"/>
+ <source>Split by date or time interval
+
+The input track will be split into several tracks depending on date of track points. If there is more than one track, use the pack option before before using this.
+
+If the input has multiple tracks, pack them together before splitting them back apart per day.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="226"/>
+ <source>Split</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="233"/>
+ <source>Synthesize GPS Fixes. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="236"/>
+ <source>Synthesize GPS fixes (PPS, DGPS, 3D, 2D, NONE).
+
+This option sets the GPS fix status for all trackpoints to the specified value. Valid values for this option are PPS, DGPS, 3D, 2D, or NONE.
+
+This option is most useful when converting from a format that doesn't contain GPS fix status to one that requires it. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="255"/>
+ <source>GPS Fixes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="263"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="268"/>
+ <source>pps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="273"/>
+ <source>dgps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="278"/>
+ <source>3d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="283"/>
+ <source>2d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="296"/>
+ <source>Synthesize course.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="299"/>
+ <source>Synthesize course.
+
+This option computes (or recomputes) a value for the GPS heading at each trackpoint. This is most useful with trackpoints from formats that don't support heading information or for trackpoints synthesized by the interpolate filter. The heading at each trackpoint is simply the course from the previous trackpoint in the track. The first trackpoint in each track is arbitrarily assigned a heading of 0 degrees. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="304"/>
+ <source>Course</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="311"/>
+ <source>Synthesize speed. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="314"/>
+ <source>Synthesize speed.
+
+This option computes a value for the GPS speed at each trackpoint. This is most useful with trackpoints from formats that don't support speed information or for trackoints synthesized by the interpolate filter. The speed at each trackpoint is the average speed from the previous trackpoint (distance divided by time). The first trackpoint in each track is assigned a speed of "unknown." </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="319"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WayPtsWidget</name>
+ <message>
+ <location filename="wayptsui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="28"/>
+ <source>Waypoints Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="35"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="38"/>
+ <source>The duplicate filter is designed to remove duplicate points based on their short name (traditionally a waypoint's name on the GPS receiver), and/or their location (to a precision of 6 decimals). This filter supports two options that specify how duplicates will be recognized, shortname and location. Generally, at least one of these options is required. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="41"/>
+ <source>Duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="54"/>
+ <source>Suppress duplicate waypoints based on name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="57"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoints based on name. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option is the one most often used with the duplicate filter. This option instructs the duplicate filter to remove any waypoints that share a short name with a waypoint that has come before. This option might be used to remove duplicates if you are merging two datasets that were each created in part from a common ancestor dataset. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="65"/>
+ <source>Short Names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="72"/>
+ <source>Suppress duplicate waypoint based on coords. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="75"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoint based on coords. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option causes the duplicate filter to remove any additional waypoint that has the same coordinates (to six decimal degrees) as a waypoint that came before. This option may be used to remove duplicate waypoints if the names are not expected to be the same. It also might be used along with the <span style=" font-family:'Courier New,courier';">shortname</span> option to remove duplicate waypoints if the names of several unrelated groups of waypoints might be the same. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="83"/>
+ <source>Locations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="90"/>
+ <source>Remove points based on proximity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="93"/>
+ <source>Maximum positional distance.
+
+This option specifies the minimum allowable distance between two points. If two points are closer than this distance, only one of them is kept. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="98"/>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="111"/>
+ <source>Maximum positional distance.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="119"/>
+ <source>Feet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="124"/>
+ <source>Meters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="132"/>
+ <source>Include points only within radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="135"/>
+ <source>This filter includes or excludes waypoints based on their proximity to a central point. All waypoints more than the specified distance from the specified point will be removed from the dataset.
+
+By default, all remaining points are sorted so that points closer to the center appear earlier in the output file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="140"/>
+ <source>Radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="153"/>
+ <source>Maximum distance from center. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="161"/>
+ <source>Miles</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="166"/>
+ <source>km</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="174"/>
+ <source>Lat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="187"/>
+ <source>Latitude of the central point in decimal degrees. South latitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="194"/>
+ <source>Long.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="207"/>
+ <source>Longitude of the central point in decimal degrees. West longitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="217"/>
+ <source>This filter sorts waypoints into alphabetical order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="220"/>
+ <source>Sort</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="hu_HU">
+<context>
+ <name>AboutDlg</name>
+ <message>
+ <location filename="aboutui.ui" line="13"/>
+ <source>About GPSBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="aboutui.ui" line="37"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">$appname$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;"><span style=" font-size:9pt; font-weight:400;">$babelfeversion$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009 S. Khai Mong</p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LGPL Crystal Icons by Alvarado Coehlo</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(Using backend $babelversion$)</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AdvUi</name>
+ <message>
+ <location filename="advui.ui" line="13"/>
+ <source>Global Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="22"/>
+ <source>Synthesize short names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="32"/>
+ <source>Force Selected GPS data types (nuketypes filter)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="45"/>
+ <source>Enable character set transformation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="59"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="64"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="69"/>
+ <source>1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="74"/>
+ <source>2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="79"/>
+ <source>3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="84"/>
+ <source>4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="89"/>
+ <source>5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="94"/>
+ <source>6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="99"/>
+ <source>7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="104"/>
+ <source>8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="109"/>
+ <source>9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="117"/>
+ <source>Debugging Diagnostics</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="141"/>
+ <source>Set all format input/output options to default values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="144"/>
+ <source>Default Format Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="42"/>
+ <source>Convert character set encoding between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="54"/>
+ <source>Debugging diagnostics.
+Higher number provides more deitaled diagnostics.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="19"/>
+ <source>Create smart shortened names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileDlgManager</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="70"/>
+ <source>Select input file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="optionsdlg.cpp" line="75"/>
+ <source>Select output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDialog</name>
+ <message>
+ <location filename="filterdlg.cpp" line="41"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Nyomvonalak</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="44"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Útpontok</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="47"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="50"/>
+ <source>Miscellaneous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="101"/>
+ <source>Are you sure you want to reset all filter options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDlg</name>
+ <message>
+ <location filename="filterui.ui" line="13"/>
+ <source>Data Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="16"/>
+ <source>Data filters process and transform the data between input and output files or devices. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="84"/>
+ <source>Help</source>
+ <translation type="unfinished">Segítség</translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainDlg</name>
+ <message>
+ <location filename="maindlg.cpp" line="315"/>
+ <source>Select one or more input files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="336"/>
+ <source>Output File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="397"/>
+ <source>Error reading format configuration. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="408"/>
+ <source>Some file/device formats were not found during initialization. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="539"/>
+ <source>Options for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="551"/>
+ <source>No valid waypoints/routes/tracks translation specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="557"/>
+ <source>No input file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="562"/>
+ <source>No output file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="577"/>
+ <source>Process "%1" did not start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="591"/>
+ <source>Process exited unsucessfully with code %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="693"/>
+ <source>Translation successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="695"/>
+ <source>Error running gpsbabel: %1
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="818"/>
+ <source>Are you sure you want to reset all format options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="842"/>
+ <source>About %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="19"/>
+ <source>GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="27"/>
+ <source>About</source>
+ <translation>Névjegy</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="51"/>
+ <source>Help</source>
+ <translation>Segítség</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="64"/>
+ <source>Input </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="451"/>
+ <source>File</source>
+ <translation>Fájl</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="467"/>
+ <source>Device</source>
+ <translation>Készülék</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="496"/>
+ <source>Format</source>
+ <translation>Formátum</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="158"/>
+ <source>File Name(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="548"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="567"/>
+ <source>Device Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="605"/>
+ <source>Options</source>
+ <translation>Beállítások</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="250"/>
+ <source>Translation Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="339"/>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="269"/>
+ <source>Waypoints</source>
+ <translation>Útpontok</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="309"/>
+ <source>Routes</source>
+ <translation>Útvonalak</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="349"/>
+ <source>Tracks</source>
+ <translation>Nyomvonalak</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="388"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="424"/>
+ <source>More Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="434"/>
+ <source>Output</source>
+ <translation>Kimenet</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="528"/>
+ <source>File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="212"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="427"/>
+ <source>Input and output formats do not support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="430"/>
+ <source>Input does not support %1; output format supports %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="433"/>
+ <source>Input format supports %1; output format does not support %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="436"/>
+ <source>Both input and output formats support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="457"/>
+ <source>waypoints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="458"/>
+ <source>tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="459"/>
+ <source>routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="866"/>
+ <source>One or more data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="868"/>
+ <source>No data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="78"/>
+ <source>If selected, input is from a file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="94"/>
+ <source>If selected, input is from a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="133"/>
+ <source>Input data format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="140"/>
+ <source>Character encoding of input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="175"/>
+ <source>Browse for one or more input files. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="204"/>
+ <source>Name of port to which input device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="232"/>
+ <source>Options for the selected input format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="266"/>
+ <source>If selected, translate waypoints.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="306"/>
+ <source>If selected, translate routes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="346"/>
+ <source>If selected, translate tracks.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="385"/>
+ <source>Data Filters between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="421"/>
+ <source>More translation options. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="448"/>
+ <source>If selected, output is to a file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="464"/>
+ <source>If selected, output is to a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="503"/>
+ <source>Output data format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="510"/>
+ <source>Character encoding of output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="545"/>
+ <source>Browse for an output file name. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="574"/>
+ <source>Name of port to which output device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="602"/>
+ <source>Options for the selected output format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="626"/>
+ <source>Output of GPSBabel translation process. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MiscFltWidget</name>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Nyomvonalak</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Útpontok</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="151"/>
+ <source>Routes</source>
+ <translation type="unfinished">Útvonalak</translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="26"/>
+ <source>Misc. Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="35"/>
+ <source>Convert routes, waypoints and tracks to different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="38"/>
+ <source>This filter can be used to convert GPS data between different data types.
+
+Some GPS data formats support only some subset of waypoints, tracks, and routes. The transform filter allows you to convert between these types. For example, it can be used to convert a pile of waypoints (such as those from a CSV file) into a track or vice versa. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="43"/>
+ <source>Transform</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="50"/>
+ <source>Type of transformation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="57"/>
+ <source>Delete original data after transform to prevent duplicated data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="60"/>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="82"/>
+ <source>Swap Longitude and Latitudes for badly formatted data formats.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="85"/>
+ <source>Simple filter to swap the coordinate values (latitude and longitude) of all points. This can be helpful for wrong defined/coded data. Or if you think, you can use one of our xcsv formats, but latitude and longitude are in opposite order. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="88"/>
+ <source>Swap Coordinates</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDlg</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="182"/>
+ <source>Help</source>
+ <translation type="unfinished">Segítség</translation>
+ </message>
+</context>
+<context>
+ <name>ProcessWaitDialog</name>
+ <message>
+ <location filename="processwait.cpp" line="43"/>
+ <source>Process failed to start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="46"/>
+ <source>Process crashed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="49"/>
+ <source>Process timedout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="52"/>
+ <source>Error while trying to write to process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="55"/>
+ <source>Error while trying to read from process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="59"/>
+ <source>Unknown process error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="68"/>
+ <source> ... Process GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="83"/>
+ <source>Stop Process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="154"/>
+ <source>Process did not terminate successfully</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="173"/>
+ <source>Process crashed whle running</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="formatload.cpp" line="148"/>
+ <source>Error processing formats from running process "gpsbabel -^3" at line %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RtTrkWidget</name>
+ <message>
+ <location filename="rttrkui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="16"/>
+ <source>Simplify routes and tracks by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="19"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The quality of the results will vary depending on the density of points in the original route and the length of the original route. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="39"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="58"/>
+ <source>Simplify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="81"/>
+ <source>Limit To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="88"/>
+ <source>Maximum number points in track or route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="95"/>
+ <source>Points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="117"/>
+ <source>Reverse tracks and routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="124"/>
+ <source>Reverse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="48"/>
+ <source>Simplify route by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="51"/>
+ <source> The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route.
+
+The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible.
+
+The quality of the results will vary depending on the density of points in the original route and the length of the original route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="120"/>
+ <source>The reversal is performed in the laziest way possible. Timestamps are kept with the original waypoints so the resulting track or route will have the interesting characteristic that time runs backwards. This tends to make Magellan Mapsend, in particular, do a wierd thing and place each waypoint on a separate day.
+Additionally, if you're using this to reverse a route that navigates, say, an exit ramp or a one way street, you will be in for unpleasant ride. application cares about timestamps </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TrackWidget</name>
+ <message>
+ <location filename="trackui.ui" line="13"/>
+ <source>Track Filter Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="16"/>
+ <source>This filter performs various operations on track data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="34"/>
+ <source>Track Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="41"/>
+ <source>Basic title for track</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="44"/>
+ <source>Basic title for new track(s).
+This option specifies a title for tracks generated by the track filter. By default, the title of the new track is composed of the start time of the track appended to this value.
+If this value contains a percent (%) character, it is treated as a format string for the POSIX strftime function, allowing custom time-based track names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="49"/>
+ <source>Title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="56"/>
+ <source>the title of the new track is composed of the start time of the track appended to this value. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="63"/>
+ <source>Correct trackpoint timestamps by a delta.
+This option changes the time of all trackpoints. This might be useful if your track must be moved by one or more hours because of an incorrect time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="67"/>
+ <source>Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="77"/>
+ <source>days</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="87"/>
+ <source>hours</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="97"/>
+ <source>mins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="107"/>
+ <source>secs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="135"/>
+ <source>Use track pts. after this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="123"/>
+ <source>Use only track points after this timestamp.
+
+This option is used along with the stop to discard trackpoints that were recorded outside of a specific period of time. This option specifies the beginning of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="128"/>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="142"/>
+ <source>If checked, time specified here is based on this computer's current time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="145"/>
+ <source>If checked, the times specified here are based on the local computer's time zone. Otherwise it is UTC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="148"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="176"/>
+ <source>Use track pts before this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="164"/>
+ <source> Use only track points before this timestamp.
+
+This option is used in conjunction with the start option to discard all trackpoints outside of a given period of time. This option defines the end of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="169"/>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="183"/>
+ <source>Pack all tracks into one. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="186"/>
+ <source>Pack all tracks into one.
+
+This option causes all tracks to be appended to one another to form a single track. This option does not work if any two tracks overlap in time; in that case, consider using the merge option.
+
+This option is most useful for rejoining tracks that might have been interrupted by an equipment malfunction or an overnight stop. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="193"/>
+ <source>Pack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="200"/>
+ <source>Merge multiple tracks for the same way.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="203"/>
+ <source> Merge multiple tracks for the same way.
+
+This option puts all track points from all tracks into a single track and sorts them by time stamp. Points with identical time stamps will be dropped. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="208"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="215"/>
+ <source>Split tracks. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="218"/>
+ <source>Split by date or time interval
+
+The input track will be split into several tracks depending on date of track points. If there is more than one track, use the pack option before before using this.
+
+If the input has multiple tracks, pack them together before splitting them back apart per day.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="226"/>
+ <source>Split</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="233"/>
+ <source>Synthesize GPS Fixes. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="236"/>
+ <source>Synthesize GPS fixes (PPS, DGPS, 3D, 2D, NONE).
+
+This option sets the GPS fix status for all trackpoints to the specified value. Valid values for this option are PPS, DGPS, 3D, 2D, or NONE.
+
+This option is most useful when converting from a format that doesn't contain GPS fix status to one that requires it. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="255"/>
+ <source>GPS Fixes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="263"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="268"/>
+ <source>pps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="273"/>
+ <source>dgps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="278"/>
+ <source>3d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="283"/>
+ <source>2d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="296"/>
+ <source>Synthesize course.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="299"/>
+ <source>Synthesize course.
+
+This option computes (or recomputes) a value for the GPS heading at each trackpoint. This is most useful with trackpoints from formats that don't support heading information or for trackpoints synthesized by the interpolate filter. The heading at each trackpoint is simply the course from the previous trackpoint in the track. The first trackpoint in each track is arbitrarily assigned a heading of 0 degrees. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="304"/>
+ <source>Course</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="311"/>
+ <source>Synthesize speed. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="314"/>
+ <source>Synthesize speed.
+
+This option computes a value for the GPS speed at each trackpoint. This is most useful with trackpoints from formats that don't support speed information or for trackoints synthesized by the interpolate filter. The speed at each trackpoint is the average speed from the previous trackpoint (distance divided by time). The first trackpoint in each track is assigned a speed of "unknown." </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="319"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WayPtsWidget</name>
+ <message>
+ <location filename="wayptsui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="28"/>
+ <source>Waypoints Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="35"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="38"/>
+ <source>The duplicate filter is designed to remove duplicate points based on their short name (traditionally a waypoint's name on the GPS receiver), and/or their location (to a precision of 6 decimals). This filter supports two options that specify how duplicates will be recognized, shortname and location. Generally, at least one of these options is required. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="41"/>
+ <source>Duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="54"/>
+ <source>Suppress duplicate waypoints based on name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="57"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoints based on name. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option is the one most often used with the duplicate filter. This option instructs the duplicate filter to remove any waypoints that share a short name with a waypoint that has come before. This option might be used to remove duplicates if you are merging two datasets that were each created in part from a common ancestor dataset. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="65"/>
+ <source>Short Names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="72"/>
+ <source>Suppress duplicate waypoint based on coords. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="75"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoint based on coords. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option causes the duplicate filter to remove any additional waypoint that has the same coordinates (to six decimal degrees) as a waypoint that came before. This option may be used to remove duplicate waypoints if the names are not expected to be the same. It also might be used along with the <span style=" font-family:'Courier New,courier';">shortname</span> option to remove duplicate waypoints if the names of several unrelated groups of waypoints might be the same. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="83"/>
+ <source>Locations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="90"/>
+ <source>Remove points based on proximity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="93"/>
+ <source>Maximum positional distance.
+
+This option specifies the minimum allowable distance between two points. If two points are closer than this distance, only one of them is kept. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="98"/>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="111"/>
+ <source>Maximum positional distance.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="119"/>
+ <source>Feet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="124"/>
+ <source>Meters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="132"/>
+ <source>Include points only within radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="135"/>
+ <source>This filter includes or excludes waypoints based on their proximity to a central point. All waypoints more than the specified distance from the specified point will be removed from the dataset.
+
+By default, all remaining points are sorted so that points closer to the center appear earlier in the output file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="140"/>
+ <source>Radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="153"/>
+ <source>Maximum distance from center. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="161"/>
+ <source>Miles</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="166"/>
+ <source>km</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="174"/>
+ <source>Lat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="187"/>
+ <source>Latitude of the central point in decimal degrees. South latitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="194"/>
+ <source>Long.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="207"/>
+ <source>Longitude of the central point in decimal degrees. West longitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="217"/>
+ <source>This filter sorts waypoints into alphabetical order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="220"/>
+ <source>Sort</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="it_IT">
+<context>
+ <name>AboutDlg</name>
+ <message>
+ <location filename="aboutui.ui" line="13"/>
+ <source>About GPSBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="aboutui.ui" line="37"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">$appname$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;"><span style=" font-size:9pt; font-weight:400;">$babelfeversion$</span></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009 S. Khai Mong</p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LGPL Crystal Icons by Alvarado Coehlo</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(Using backend $babelversion$)</span></p>
+<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AdvUi</name>
+ <message>
+ <location filename="advui.ui" line="13"/>
+ <source>Global Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="22"/>
+ <source>Synthesize short names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="32"/>
+ <source>Force Selected GPS data types (nuketypes filter)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="45"/>
+ <source>Enable character set transformation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="59"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="64"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="69"/>
+ <source>1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="74"/>
+ <source>2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="79"/>
+ <source>3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="84"/>
+ <source>4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="89"/>
+ <source>5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="94"/>
+ <source>6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="99"/>
+ <source>7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="104"/>
+ <source>8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="109"/>
+ <source>9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="117"/>
+ <source>Debugging Diagnostics</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="141"/>
+ <source>Set all format input/output options to default values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="144"/>
+ <source>Default Format Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="42"/>
+ <source>Convert character set encoding between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="54"/>
+ <source>Debugging diagnostics.
+Higher number provides more deitaled diagnostics.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="advui.ui" line="19"/>
+ <source>Create smart shortened names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileDlgManager</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="70"/>
+ <source>Select input file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="optionsdlg.cpp" line="75"/>
+ <source>Select output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDialog</name>
+ <message>
+ <location filename="filterdlg.cpp" line="41"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Tracce</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="44"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Punti di interesse</translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="47"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="50"/>
+ <source>Miscellaneous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterdlg.cpp" line="101"/>
+ <source>Are you sure you want to reset all filter options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterDlg</name>
+ <message>
+ <location filename="filterui.ui" line="13"/>
+ <source>Data Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="16"/>
+ <source>Data filters process and transform the data between input and output files or devices. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="84"/>
+ <source>Help</source>
+ <translation type="unfinished">Aiuto</translation>
+ </message>
+ <message>
+ <location filename="filterui.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MainDlg</name>
+ <message>
+ <location filename="maindlg.cpp" line="315"/>
+ <source>Select one or more input files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="336"/>
+ <source>Output File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="397"/>
+ <source>Error reading format configuration. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="408"/>
+ <source>Some file/device formats were not found during initialization. Check that the backend program "gpsbabel" is properly installed and is in the current PATH
+
+This program cannot continue.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="539"/>
+ <source>Options for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="551"/>
+ <source>No valid waypoints/routes/tracks translation specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="557"/>
+ <source>No input file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="562"/>
+ <source>No output file specified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="577"/>
+ <source>Process "%1" did not start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="591"/>
+ <source>Process exited unsucessfully with code %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="693"/>
+ <source>Translation successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="695"/>
+ <source>Error running gpsbabel: %1
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="818"/>
+ <source>Are you sure you want to reset all format options to default values?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="842"/>
+ <source>About %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="19"/>
+ <source>GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="27"/>
+ <source>About</source>
+ <translation type="unfinished">Informazioni su</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="51"/>
+ <source>Help</source>
+ <translation type="unfinished">Aiuto</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="64"/>
+ <source>Input </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="451"/>
+ <source>File</source>
+ <translation type="unfinished">File</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="467"/>
+ <source>Device</source>
+ <translation type="unfinished">Dispositivo</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="496"/>
+ <source>Format</source>
+ <translation type="unfinished">Formato</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="158"/>
+ <source>File Name(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="548"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="567"/>
+ <source>Device Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="605"/>
+ <source>Options</source>
+ <translation type="unfinished">Opzioni</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="250"/>
+ <source>Translation Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="339"/>
+ <source>-</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="269"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Punti di interesse</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="309"/>
+ <source>Routes</source>
+ <translation type="unfinished">Rotte</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="349"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Tracce</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="388"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="424"/>
+ <source>More Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="434"/>
+ <source>Output</source>
+ <translation type="unfinished">Destinazione</translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="528"/>
+ <source>File Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="212"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="427"/>
+ <source>Input and output formats do not support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="430"/>
+ <source>Input does not support %1; output format supports %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="433"/>
+ <source>Input format supports %1; output format does not support %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="436"/>
+ <source>Both input and output formats support %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="457"/>
+ <source>waypoints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="458"/>
+ <source>tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="459"/>
+ <source>routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="866"/>
+ <source>One or more data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="maindlg.cpp" line="868"/>
+ <source>No data filters are active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="78"/>
+ <source>If selected, input is from a file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="94"/>
+ <source>If selected, input is from a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="133"/>
+ <source>Input data format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="140"/>
+ <source>Character encoding of input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="175"/>
+ <source>Browse for one or more input files. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="204"/>
+ <source>Name of port to which input device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="232"/>
+ <source>Options for the selected input format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="266"/>
+ <source>If selected, translate waypoints.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="306"/>
+ <source>If selected, translate routes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="346"/>
+ <source>If selected, translate tracks.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="385"/>
+ <source>Data Filters between input and output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="421"/>
+ <source>More translation options. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="448"/>
+ <source>If selected, output is to a file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="464"/>
+ <source>If selected, output is to a device or GPS unit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="503"/>
+ <source>Output data format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="510"/>
+ <source>Character encoding of output</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="545"/>
+ <source>Browse for an output file name. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="574"/>
+ <source>Name of port to which output device is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="602"/>
+ <source>Options for the selected output format. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mainui.ui" line="626"/>
+ <source>Output of GPSBabel translation process. </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MiscFltWidget</name>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Tracks</source>
+ <translation type="unfinished">Tracce</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="152"/>
+ <source>Waypoints</source>
+ <translation type="unfinished">Punti di interesse</translation>
+ </message>
+ <message>
+ <location filename="filterwidgets.cpp" line="151"/>
+ <source>Routes</source>
+ <translation type="unfinished">Rotte</translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="26"/>
+ <source>Misc. Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="35"/>
+ <source>Convert routes, waypoints and tracks to different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="38"/>
+ <source>This filter can be used to convert GPS data between different data types.
+
+Some GPS data formats support only some subset of waypoints, tracks, and routes. The transform filter allows you to convert between these types. For example, it can be used to convert a pile of waypoints (such as those from a CSV file) into a track or vice versa. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="43"/>
+ <source>Transform</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="50"/>
+ <source>Type of transformation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="57"/>
+ <source>Delete original data after transform to prevent duplicated data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="60"/>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="82"/>
+ <source>Swap Longitude and Latitudes for badly formatted data formats.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="85"/>
+ <source>Simple filter to swap the coordinate values (latitude and longitude) of all points. This can be helpful for wrong defined/coded data. Or if you think, you can use one of our xcsv formats, but latitude and longitude are in opposite order. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="miscfltui.ui" line="88"/>
+ <source>Swap Coordinates</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDlg</name>
+ <message>
+ <location filename="optionsdlg.cpp" line="182"/>
+ <source>Help</source>
+ <translation type="unfinished">Aiuto</translation>
+ </message>
+</context>
+<context>
+ <name>ProcessWaitDialog</name>
+ <message>
+ <location filename="processwait.cpp" line="43"/>
+ <source>Process failed to start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="46"/>
+ <source>Process crashed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="49"/>
+ <source>Process timedout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="52"/>
+ <source>Error while trying to write to process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="55"/>
+ <source>Error while trying to read from process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="59"/>
+ <source>Unknown process error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="68"/>
+ <source> ... Process GpsBabel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="83"/>
+ <source>Stop Process</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="154"/>
+ <source>Process did not terminate successfully</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="processwait.cpp" line="173"/>
+ <source>Process crashed whle running</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="formatload.cpp" line="148"/>
+ <source>Error processing formats from running process "gpsbabel -^3" at line %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RtTrkWidget</name>
+ <message>
+ <location filename="rttrkui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="16"/>
+ <source>Simplify routes and tracks by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="19"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The quality of the results will vary depending on the density of points in the original route and the length of the original route. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="39"/>
+ <source>Routes & Tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="58"/>
+ <source>Simplify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="81"/>
+ <source>Limit To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="88"/>
+ <source>Maximum number points in track or route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="95"/>
+ <source>Points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="117"/>
+ <source>Reverse tracks and routes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="124"/>
+ <source>Reverse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="48"/>
+ <source>Simplify route by removing points</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="51"/>
+ <source> The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route.
+
+The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible.
+
+The quality of the results will vary depending on the density of points in the original route and the length of the original route. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rttrkui.ui" line="120"/>
+ <source>The reversal is performed in the laziest way possible. Timestamps are kept with the original waypoints so the resulting track or route will have the interesting characteristic that time runs backwards. This tends to make Magellan Mapsend, in particular, do a wierd thing and place each waypoint on a separate day.
+Additionally, if you're using this to reverse a route that navigates, say, an exit ramp or a one way street, you will be in for unpleasant ride. application cares about timestamps </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TrackWidget</name>
+ <message>
+ <location filename="trackui.ui" line="13"/>
+ <source>Track Filter Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="16"/>
+ <source>This filter performs various operations on track data. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="34"/>
+ <source>Track Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="41"/>
+ <source>Basic title for track</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="44"/>
+ <source>Basic title for new track(s).
+This option specifies a title for tracks generated by the track filter. By default, the title of the new track is composed of the start time of the track appended to this value.
+If this value contains a percent (%) character, it is treated as a format string for the POSIX strftime function, allowing custom time-based track names. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="49"/>
+ <source>Title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="56"/>
+ <source>the title of the new track is composed of the start time of the track appended to this value. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="63"/>
+ <source>Correct trackpoint timestamps by a delta.
+This option changes the time of all trackpoints. This might be useful if your track must be moved by one or more hours because of an incorrect time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="67"/>
+ <source>Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="77"/>
+ <source>days</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="87"/>
+ <source>hours</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="97"/>
+ <source>mins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="107"/>
+ <source>secs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="135"/>
+ <source>Use track pts. after this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="123"/>
+ <source>Use only track points after this timestamp.
+
+This option is used along with the stop to discard trackpoints that were recorded outside of a specific period of time. This option specifies the beginning of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="128"/>
+ <source>Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="142"/>
+ <source>If checked, time specified here is based on this computer's current time zone. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="145"/>
+ <source>If checked, the times specified here are based on the local computer's time zone. Otherwise it is UTC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="148"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="176"/>
+ <source>Use track pts before this time. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="164"/>
+ <source> Use only track points before this timestamp.
+
+This option is used in conjunction with the start option to discard all trackpoints outside of a given period of time. This option defines the end of the time period. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="169"/>
+ <source>Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="183"/>
+ <source>Pack all tracks into one. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="186"/>
+ <source>Pack all tracks into one.
+
+This option causes all tracks to be appended to one another to form a single track. This option does not work if any two tracks overlap in time; in that case, consider using the merge option.
+
+This option is most useful for rejoining tracks that might have been interrupted by an equipment malfunction or an overnight stop. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="193"/>
+ <source>Pack</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="200"/>
+ <source>Merge multiple tracks for the same way.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="203"/>
+ <source> Merge multiple tracks for the same way.
+
+This option puts all track points from all tracks into a single track and sorts them by time stamp. Points with identical time stamps will be dropped. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="208"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="215"/>
+ <source>Split tracks. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="218"/>
+ <source>Split by date or time interval
+
+The input track will be split into several tracks depending on date of track points. If there is more than one track, use the pack option before before using this.
+
+If the input has multiple tracks, pack them together before splitting them back apart per day.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="226"/>
+ <source>Split</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="233"/>
+ <source>Synthesize GPS Fixes. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="236"/>
+ <source>Synthesize GPS fixes (PPS, DGPS, 3D, 2D, NONE).
+
+This option sets the GPS fix status for all trackpoints to the specified value. Valid values for this option are PPS, DGPS, 3D, 2D, or NONE.
+
+This option is most useful when converting from a format that doesn't contain GPS fix status to one that requires it. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="255"/>
+ <source>GPS Fixes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="263"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="268"/>
+ <source>pps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="273"/>
+ <source>dgps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="278"/>
+ <source>3d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="283"/>
+ <source>2d</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="296"/>
+ <source>Synthesize course.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="299"/>
+ <source>Synthesize course.
+
+This option computes (or recomputes) a value for the GPS heading at each trackpoint. This is most useful with trackpoints from formats that don't support heading information or for trackpoints synthesized by the interpolate filter. The heading at each trackpoint is simply the course from the previous trackpoint in the track. The first trackpoint in each track is arbitrarily assigned a heading of 0 degrees. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="304"/>
+ <source>Course</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="311"/>
+ <source>Synthesize speed. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="314"/>
+ <source>Synthesize speed.
+
+This option computes a value for the GPS speed at each trackpoint. This is most useful with trackpoints from formats that don't support speed information or for trackoints synthesized by the interpolate filter. The speed at each trackpoint is the average speed from the previous trackpoint (distance divided by time). The first trackpoint in each track is assigned a speed of "unknown." </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="trackui.ui" line="319"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WayPtsWidget</name>
+ <message>
+ <location filename="wayptsui.ui" line="13"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="28"/>
+ <source>Waypoints Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="35"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="38"/>
+ <source>The duplicate filter is designed to remove duplicate points based on their short name (traditionally a waypoint's name on the GPS receiver), and/or their location (to a precision of 6 decimals). This filter supports two options that specify how duplicates will be recognized, shortname and location. Generally, at least one of these options is required. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="41"/>
+ <source>Duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="54"/>
+ <source>Suppress duplicate waypoints based on name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="57"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoints based on name. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option is the one most often used with the duplicate filter. This option instructs the duplicate filter to remove any waypoints that share a short name with a waypoint that has come before. This option might be used to remove duplicates if you are merging two datasets that were each created in part from a common ancestor dataset. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="65"/>
+ <source>Short Names</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="72"/>
+ <source>Suppress duplicate waypoint based on coords. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="75"/>
+ <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoint based on coords. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option causes the duplicate filter to remove any additional waypoint that has the same coordinates (to six decimal degrees) as a waypoint that came before. This option may be used to remove duplicate waypoints if the names are not expected to be the same. It also might be used along with the <span style=" font-family:'Courier New,courier';">shortname</span> option to remove duplicate waypoints if the names of several unrelated groups of waypoints might be the same. </p></body></html></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="83"/>
+ <source>Locations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="90"/>
+ <source>Remove points based on proximity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="93"/>
+ <source>Maximum positional distance.
+
+This option specifies the minimum allowable distance between two points. If two points are closer than this distance, only one of them is kept. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="98"/>
+ <source>Position</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="111"/>
+ <source>Maximum positional distance.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="119"/>
+ <source>Feet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="124"/>
+ <source>Meters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="132"/>
+ <source>Include points only within radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="135"/>
+ <source>This filter includes or excludes waypoints based on their proximity to a central point. All waypoints more than the specified distance from the specified point will be removed from the dataset.
+
+By default, all remaining points are sorted so that points closer to the center appear earlier in the output file. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="140"/>
+ <source>Radius</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="153"/>
+ <source>Maximum distance from center. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="161"/>
+ <source>Miles</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="166"/>
+ <source>km</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="174"/>
+ <source>Lat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="187"/>
+ <source>Latitude of the central point in decimal degrees. South latitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="194"/>
+ <source>Long.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="207"/>
+ <source>Longitude of the central point in decimal degrees. West longitudes should be expressed as a negative number.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="217"/>
+ <source>This filter sorts waypoints into alphabetical order</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="wayptsui.ui" line="220"/>
+ <source>Sort</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
--- /dev/null
+// -*- C++ -*-
+// $Id: gpx.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+
+#include <QFile>
+#include <QXmlInputSource>
+#include <QXmlSimpleReader>
+#include <QXmlDefaultHandler>
+#include "gpx.h"
+
+
+static QDateTime decodeDateTime(const QString s)
+{
+ QDateTime utc = QDateTime::fromString(s, "yyyy-MM-dd'T'HH:mm:ss'Z'");
+ return utc;
+}
+
+static bool trackIsEmpty(const GpxTrack &trk){
+ int count = 0;
+ for (int i=0; i< trk.getTrackSegments().size(); i++) {
+ for (int j=0; j<trk.getTrackSegments()[i].getTrackPoints().size(); j++) {
+ count++;
+ }
+ }
+ return count <=2 ;
+}
+
+class GpxHandler: public QXmlDefaultHandler
+{
+public:
+ GpxHandler(): QXmlDefaultHandler()
+
+ {
+ state = e_noop;
+ }
+
+ typedef enum {e_noop, e_wpt, e_trk,
+ e_trkpt, e_trkseg, e_rte, e_rtept} elementState;
+ QString textChars;
+ GpxWaypoint currentWpt;
+ QList <GpxWaypoint> wptList;
+
+ QList <GpxTrack> trkList;
+ GpxTrack currentTrk;
+ GpxTrackPoint currentTrkPt;
+ GpxTrackSegment currentTrkSeg;
+
+ QList <GpxRoute> rteList;
+ GpxRoute currentRte;
+ GpxRoutePoint currentRtePt;
+
+ elementState state;
+ QList <elementState> stateStack;
+
+ virtual bool startElement (const QString & ,
+ const QString & localName, const QString & qName,
+ const QXmlAttributes & atts )
+ {
+ if (localName == "wpt") {
+ currentWpt = GpxWaypoint();
+ double lat = atts.value("lat").toDouble();;
+ double lon = atts.value("lon").toDouble();;
+ currentWpt.setLocation(LatLng(lat, lon));
+ stateStack << state;
+ state = e_wpt;
+ }
+
+ else if (localName == "trk") {
+ stateStack << state;
+ state = e_trk;
+ currentTrk.clear();
+ }
+
+ else if (localName == "trkseg") {
+ stateStack << state;
+ state = e_trkseg;
+ currentTrkSeg.clear();
+ }
+
+ else if (localName == "trkpt") {
+ currentTrkPt = GpxTrackPoint();
+ double lat = atts.value("lat").toDouble();;
+ double lon = atts.value("lon").toDouble();;
+ currentTrkPt.setLocation(LatLng(lat, lon));
+ stateStack << state;
+ state = e_trkpt;
+ }
+
+ else if (localName == "rte") {
+ stateStack << state;
+ state = e_rte;
+ currentRte.clear();
+ }
+
+ else if (localName == "rtept") {
+ currentRtePt = GpxRoutePoint();
+ double lat = atts.value("lat").toDouble();;
+ double lon = atts.value("lon").toDouble();;
+ currentRtePt.setLocation(LatLng(lat, lon));
+ stateStack << state;
+ state = e_rtept;
+ }
+
+
+ else if (state == e_wpt ||
+ state == e_trkpt || state == e_trkseg || state == e_trk ||
+ state == e_rte || state == e_rtept) {
+ }
+ else {
+ //fprintf(stderr, "localName: %s name: %s\n",
+ //localName.toStdString().c_str(), qName.toStdString().c_str());
+ }
+ return true;
+ };
+
+ virtual bool endElement (const QString & ,
+ const QString & localName,
+ const QString & qName)
+ {
+ if (localName == "wpt") {
+ state = stateStack.takeLast();
+ wptList << currentWpt;
+ }
+ else if (localName == "ele" && state == e_wpt) {
+ currentWpt.setElevation(textChars.toDouble());
+ }
+ else if (localName == "name" && state == e_wpt) {
+ currentWpt.setName(textChars);
+ }
+ else if (localName == "cmt" && state == e_wpt) {
+ currentWpt.setComment(textChars);
+ }
+ else if (localName == "desc" && state == e_wpt) {
+ currentWpt.setDescription(textChars);
+ }
+ else if (localName == "sym" && state == e_wpt) {
+ currentWpt.setSymbol(textChars);
+ }
+
+ else if (localName == "trkpt") {
+ state = stateStack.takeLast();
+ currentTrkSeg.addPoint(currentTrkPt);
+ }
+ else if (localName == "ele" && state == e_trkpt) {
+ currentTrkPt.setElevation(textChars.toDouble());
+ }
+ else if (localName == "time" && state == e_trkpt) {
+ currentTrkPt.setDateTime(decodeDateTime(textChars));
+ }
+
+ else if (localName == "trkseg") {
+ state = stateStack.takeLast();
+ currentTrk.addSegment(currentTrkSeg);
+ }
+
+ else if (localName == "trk") {
+ state = stateStack.takeLast();
+ if (!trackIsEmpty(currentTrk))
+ trkList << currentTrk;
+ }
+
+ else if (localName == "name" && state == e_trk) {
+ currentTrk.setName(textChars);
+ }
+ else if (localName == "number" && state == e_trk) {
+ currentTrk.setNumber(textChars.toInt());
+ }
+
+ else if (localName == "rte") {
+ state = stateStack.takeLast();
+ if (currentRte.getRoutePoints().size()>=2)
+ rteList << currentRte;
+ }
+
+ else if (localName == "rtept") {
+ state = stateStack.takeLast();
+ currentRte.addPoint(currentRtePt);
+ }
+
+ else if (localName == "name" && state == e_rtept) {
+ currentRtePt.setName(textChars);
+ }
+
+ else if (localName == "name" && state == e_rte) {
+ currentRte.setName(textChars);
+ }
+
+ else {
+ //fprintf(stderr, "end ---- localName: %s name: %s\n\n",
+ //localName.toStdString().c_str(), qName.toStdString().c_str());
+ }
+ return true;
+ };
+
+ virtual bool characters(const QString &x)
+ {
+ textChars = x;
+ return true;
+ };
+};
+
+
+//------------------------------------------------------------------------
+
+bool Gpx::read(const QString & fileName)
+{
+ QFile file(fileName);
+ if (!file.open(QIODevice::ReadOnly))
+ return false;
+
+ QXmlInputSource xmlIn(&file);
+
+ QXmlSimpleReader reader;
+ GpxHandler gpxHandler;
+ reader.setContentHandler(&gpxHandler);
+
+ if (reader.parse(xmlIn)) {
+ wayPoints = gpxHandler.wptList;
+ tracks = gpxHandler.trkList;
+ routes = gpxHandler.rteList;
+ return true;
+ }
+ else
+ return false;
+}
+
+
--- /dev/null
+// -*- C++ -*-
+// $Id: gpx.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef GPX_H
+#define GPX_H
+
+#include <QString>
+#include <QDateTime>
+#include "latlng.h"
+
+//------------------------------------------------------------------------
+class GpxItem {
+ public:
+ GpxItem(): visible(true) {};
+ GpxItem(bool visible ): visible(visible) {};
+
+ void setVisible(bool b) { visible = b; };
+ bool getVisible() const { return visible;};
+
+ protected:
+ bool visible;
+};
+
+//------------------------------------------------------------------------
+class GpxRoutePoint: public GpxItem
+{
+ public:
+ GpxRoutePoint(): GpxItem(), location(LatLng()), name(QString())
+ {
+ };
+ void setLocation(const LatLng& pt) { location = pt; };
+ LatLng getLocation() const { return location; };
+
+ void setName(const QString &s) { name = s; };
+ QString getName () const { return name; };
+
+ private:
+ LatLng location;
+ QString name;
+};
+
+//------------------------------------------------------------------------
+class GpxRoute: public GpxItem
+{
+ public:
+ GpxRoute(): GpxItem(),name(QString()), cachedLength(-1) {};
+
+ GpxRoute(const GpxRoute &c)
+ :GpxItem(c.visible),
+ name(c.name), cachedLength(c.cachedLength)
+ {
+ routePoints.clear();
+ foreach (GpxRoutePoint sg, c.routePoints)
+ routePoints << sg;
+ }
+ GpxRoute & operator = (const GpxRoute &c)
+ {
+ visible = c.visible;
+ name = c.name;
+ cachedLength = c.cachedLength;
+ routePoints.clear();
+ foreach (GpxRoutePoint sg, c.routePoints) {
+ routePoints << sg;
+ }
+ return *this;
+ }
+
+ double length() const
+ {
+ if (cachedLength >=0.0)
+ return cachedLength;
+ LatLng prevPt;
+ bool first = true;
+ double dist = 0.0;
+ foreach (GpxRoutePoint pt, routePoints) {
+ if (first) {
+ prevPt = pt.getLocation();
+ first = false;
+ }
+ else {
+ LatLng thisPt = pt.getLocation();
+ dist += prevPt.haversineDistance(thisPt);
+ prevPt = thisPt;
+ }
+ }
+ double *dptr = (double *)(&cachedLength); // big cheat
+ *dptr = dist;
+ return cachedLength;
+ }
+
+ void setName(const QString &s) { name = s; };
+ QString getName() const { return name; };
+
+ void clear() { routePoints.clear(); };
+ void addPoint(const GpxRoutePoint &pt) {
+ routePoints << pt;
+ }
+ const QList<GpxRoutePoint> & getRoutePoints() const { return routePoints; };
+
+ private:
+ QString name;
+ QList <GpxRoutePoint> routePoints;
+ double cachedLength;
+};
+
+//------------------------------------------------------------------------
+class GpxTrackPoint: public GpxItem
+{
+ public:
+ GpxTrackPoint(): GpxItem(), location(LatLng()), elevation(0), dateTime(QDateTime())
+ {
+ };
+ void setLocation(const LatLng& pt) { location = pt; };
+ LatLng getLocation() const { return location; };
+
+ void setElevation(double e) { elevation = e; };
+ double getElevation () const { return elevation; };
+
+ void setDateTime(const QDateTime &dt) { dateTime = dt; };
+ QDateTime getDateTime() const { return dateTime; };
+
+ private:
+ LatLng location;
+ double elevation;
+ QDateTime dateTime;
+};
+
+//------------------------------------------------------------------------
+class GpxTrackSegment: public GpxItem
+{
+ public:
+ GpxTrackSegment() {};
+ GpxTrackSegment(const GpxTrackSegment &c): GpxItem(c.visible) {
+ trackPoints.clear();
+ foreach (GpxTrackPoint pt, c.trackPoints)
+ trackPoints << pt;
+ }
+ GpxTrackSegment & operator = (const GpxTrackSegment &c) {
+ visible = c.visible;
+ trackPoints.clear();
+ foreach (GpxTrackPoint pt, c.trackPoints)
+ trackPoints << pt;
+ return *this;
+ }
+ void addPoint(const GpxTrackPoint & pt) {
+ trackPoints << pt;
+ }
+ void clear() { trackPoints.clear(); };
+ const QList<GpxTrackPoint> & getTrackPoints() const { return trackPoints; };
+
+ private:
+ QList <GpxTrackPoint> trackPoints;
+};
+//------------------------------------------------------------------------
+class GpxTrack: public GpxItem
+{
+ public:
+ GpxTrack(): GpxItem(), number(1), name(QString()), comment(QString()), description(QString()), cachedLength(-1.0) {};
+
+ GpxTrack(const GpxTrack &c)
+ :GpxItem(c.visible),
+ number(c.number),
+ name(c.name),
+ comment(c.comment),
+ description (c.description),
+ cachedLength(c.cachedLength)
+ {
+ trackSegments.clear();
+ foreach (GpxTrackSegment sg, c.trackSegments)
+ trackSegments << sg;
+ }
+ GpxTrack & operator = (const GpxTrack &c)
+ {
+ visible = c.visible;
+ number = c.number;
+ name = c.name;
+ comment = c.comment;
+ description = c.description;
+ cachedLength = c.cachedLength;
+ trackSegments.clear();
+ foreach (GpxTrackSegment sg, c.trackSegments) {
+ trackSegments << sg;
+ }
+ return *this;
+ }
+
+ void setNumber(int n) { number = n; };
+ int getNumber() const { return number; };
+
+ void setName(const QString &s) { name = s; };
+ QString getName() const { return name; };
+
+ void setComment(const QString &s) { comment = s; };
+ QString getComment() const { return comment; };
+
+ void setDescription(const QString &s) { description = s; };
+ QString getDescription() const { return description; };
+
+ void clear() { trackSegments.clear(); };
+ void addSegment(const GpxTrackSegment &seg) {
+ trackSegments << seg;
+ }
+ const QList<GpxTrackSegment> & getTrackSegments() const { return trackSegments; };
+
+ double length() const
+ {
+ if (cachedLength >=0.0)
+ return cachedLength;
+ LatLng prevPt;
+ bool first = true;
+ double dist = 0.0;
+ foreach (GpxTrackSegment seg, trackSegments) {
+ foreach (GpxTrackPoint pt, seg.getTrackPoints()) {
+ if (first) {
+ prevPt = pt.getLocation();
+ first = false;
+ }
+ else {
+ LatLng thisPt = pt.getLocation();
+ dist += prevPt.haversineDistance(thisPt);
+ prevPt = thisPt;
+ }
+ }
+ }
+ double *dptr = (double *)(&cachedLength); // big cheat
+ *dptr = dist;
+ return cachedLength;
+ }
+
+ private:
+ int number;
+ QString name;
+ QString comment;
+ QString description;
+ QList <GpxTrackSegment> trackSegments;
+ double cachedLength;
+};
+
+//------------------------------------------------------------------------
+class GpxWaypoint: public GpxItem
+{
+ public:
+ GpxWaypoint(): GpxItem(),
+ location(LatLng(0, 0)),
+ elevation (-1.0E-100),
+ name(QString()),
+ comment(QString()),
+ description(QString()),
+ symbol(QString())
+ {};
+
+ void setLocation(const LatLng& pt) { location = pt; };
+ LatLng getLocation() const { return location; };
+
+ void setElevation(double e) { elevation = e; };
+ double getElevation () const { return elevation; };
+
+ void setName(const QString &s) { name = s; };
+ QString getName() const { return name; };
+
+ void setComment(const QString &s) { comment = s; };
+ QString getComment() const { return comment; };
+
+ void setDescription(const QString &s) { description = s; };
+ QString getDescription() const { return description; };
+
+ void setSymbol(const QString &s) { symbol = s; };
+ QString getSymbol() const { return symbol; };
+
+ private:
+ LatLng location;
+ double elevation;
+ QString name;
+ QString comment;
+ QString description;
+ QString symbol;
+};
+
+//------------------------------------------------------------------------
+class Gpx {
+public:
+ Gpx() {};
+ bool read(const QString & fileName);
+
+ QList <GpxWaypoint> &getWaypoints() { return wayPoints; }; // nonconst
+ QList <GpxTrack> &getTracks() { return tracks; };
+ QList <GpxRoute> &getRoutes() { return routes; };
+
+ const QList <GpxWaypoint> &getWaypoints() const { return wayPoints; };
+ const QList <GpxTrack> &getTracks() const { return tracks; };
+ const QList <GpxRoute> &getRoutes() const { return routes; };
+
+ private:
+ QList <GpxWaypoint> wayPoints;
+ QList <GpxTrack> tracks;
+ QList <GpxRoute> routes;
+};
+
+
+#endif
--- /dev/null
+// -*- C++ -*-
+// $Id: help.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#include "help.h"
+#include <QApplication>
+#include <QString>
+#include <QProcess>
+
+
+//------------------------------------------------------------------------
+#ifndef _WIN32
+void ShowUrl(const QString &url)
+{
+ QString progName = QApplication::applicationDirPath() + "/showUrl.sh";
+ QStringList args;
+ args << url;
+ QProcess::startDetached(progName, args);
+}
+#else
+#include <windows.h>
+void ShowUrl(const QString &url)
+{
+ ShellExecuteA(0, "open", url.toStdString().c_str(), 0, 0, SW_SHOWNORMAL);
+}
+#endif
+
+//------------------------------------------------------------------------
+void ShowHelp(const char *name)
+{
+ QString urlname = "file://" + QApplication::applicationDirPath() + "/help/" + name;
+ ShowUrl(urlname);
+}
+
--- /dev/null
+// -*- C++ -*-\r
+// $Id: help.h,v 1.1 2009/07/05 21:14:56 robertl Exp $\r
+//------------------------------------------------------------------------\r
+//\r
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.\r
+//\r
+// This program is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU General Public License as\r
+// published by the Free Software Foundation; either version 2 of the\r
+// License, or (at your option) any later version.\r
+//\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111\r
+// USA\r
+//\r
+\r
+#ifndef HELP_H\r
+#define HELP_H\r
+#include <QString>\r
+extern void ShowUrl(const QString &url);\r
+extern void ShowHelp(const char *name);\r
+\r
+#endif\r
--- /dev/null
+// -*- C++ -*-
+// $Id: latlng.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#include <math.h>
+#include "latlng.h"
+
+
+// copied from the web somewhere.
+static const double DEG_TO_RAD = 0.017453292519943295769236907684886;
+static const double EARTH_RADIUS_IN_METERS = 6372797.560856;
+
+/** @brief Computes the arc, in radian, between two WGS-84 positions.
+ *
+ * The result is equal to <code>Distance(from,to)/EARTH_RADIUS_IN_METERS</code>
+ * <code>= 2*asin(sqrt(h(d/EARTH_RADIUS_IN_METERS )))</code>
+ *
+ * where:<ul>
+ * <li>d is the distance in meters between 'from' and 'to' positions.</li>
+ * <li>h is the haversine function: <code>h(x)=sin²(x/2)</code></li>
+ * </ul>
+ *
+ * The haversine formula gives:
+ * <code>h(d/R) = h(from.lat-to.lat)+h(from.lon-to.lon)+cos(from.lat)*cos(to.lat)</code>
+ *
+ * @sa http://en.wikipedia.org/wiki/Law_of_haversines
+ */
+static double ArcInRadians(const LatLng& from, const LatLng& to)
+{
+ double latitudeArc = (from.lat() - to.lat()) * DEG_TO_RAD;
+ double longitudeArc = (from.lng() - to.lng()) * DEG_TO_RAD;
+ double latitudeH = sin(latitudeArc * 0.5);
+ latitudeH *= latitudeH;
+ double lontitudeH = sin(longitudeArc * 0.5);
+ lontitudeH *= lontitudeH;
+ double tmp = cos(from.lat()*DEG_TO_RAD) * cos(to.lat()*DEG_TO_RAD);
+ return 2.0 * asin(sqrt(latitudeH + tmp*lontitudeH));
+}
+
+/** @brief Computes the distance, in meters, between two WGS-84 positions.
+ *
+ * The result is equal to <code>EARTH_RADIUS_IN_METERS*ArcInRadians(from,to)</code>
+ *
+ * @sa ArcInRadians
+ */
+static double DistanceInMeters(const LatLng& from, const LatLng& to) {
+ return EARTH_RADIUS_IN_METERS*ArcInRadians(from, to);
+}
+//------------------------------------------------------------------------
+
+double LatLng::haversineDistance(const LatLng &other) const
+{
+ return DistanceInMeters(*this, other);
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: latlng.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef LATLNG_H
+#define LATLNG_H
+
+
+//------------------------------------------------------------------------
+class LatLng
+{
+ public:
+ LatLng(): _lat(0), _lng(0) {};
+ LatLng(double lat, double lng): _lat(lat), _lng(lng) {};
+ double lat() const { return _lat; }
+ double lng() const { return _lng; }
+ double haversineDistance(const LatLng &other) const;
+
+ private:
+ double _lat;
+ double _lng;
+};
+
+
+#endif
--- /dev/null
+// -*- C++ -*-
+// $Id: main.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#define _CRT_SECURE_NO_DEPRECATE 1
+#include <QMessageBox>
+#include <QFile>
+#include <QCoreApplication>
+#include <QLibraryInfo>
+#include <QTranslator>
+#include <QIcon>
+
+#include "maindlg.h"
+#include "gmapdlg.h"
+
+#ifdef _WIN32
+const char *pathSeparator = ";";
+#else
+const char *pathSeparator = ":";
+#endif
+
+//------------------------------------------------------------------------
+static void installTranslation(QApplication *app, const QString &nm)
+{
+ QTranslator *xlator = new QTranslator();
+ xlator->load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/" + nm + QLocale::system().name());
+ app->installTranslator(xlator);
+}
+
+//------------------------------------------------------------------------
+
+//------------------------------------------------------------------------
+int main(int argc, char**argv)
+{
+ QApplication *app;
+ app = new QApplication(argc, argv);
+ app->setWindowIcon(QIcon(":/images/appicon.png"));
+
+ QString newPath = "PATH=" + QApplication::applicationDirPath() +
+ QString(pathSeparator) + getenv("PATH");
+ char *newPathEnv = new char[newPath.length() + 1];
+ strcpy(newPathEnv, newPath.toStdString().c_str());
+ putenv(newPathEnv);
+
+ installTranslation(app, "qt_");
+ installTranslation(app, "gpsbabelfe_");
+ installTranslation(app, "gpsbabel_");
+
+ QCoreApplication::setOrganizationName("GpsBabel");
+ QCoreApplication::setOrganizationDomain("gpsbabel.org");
+ QCoreApplication::setApplicationName("GPSBabelFE");
+
+#ifdef XXX
+#endif
+ MainDlg mainDlg(0);
+ mainDlg.exec();
+}
+
--- /dev/null
+// -*- C++ -*-
+// $Id: maindlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+#include <QMessageBox>
+#include <QProcess>
+#include <QFileDialog>
+#include <QTextStream>
+#include <QSettings>
+#include <QTemporaryFile>
+
+#include "maindlg.h"
+#include "babeldata.h"
+#include "appname.h"
+#include "help.h"
+#include "advdlg.h"
+#include "aboutdlg.h"
+#include "optionsdlg.h"
+#include "filterdlg.h"
+#include "processwait.h"
+#include "formatload.h"
+#include "gmapdlg.h"
+
+#ifndef _WIN32
+static const char *deviceNames[] = {
+ "USB:",
+ "/dev/ttyS0",
+ "/dev/ttyS1",
+ "/dev/ttyS2",
+ "/dev/ttyS3",
+ 0
+};
+#else
+static const char *deviceNames[] = {
+ "USB:",
+ "COM1:",
+ "COM2:",
+ "COM3:",
+ "COM4:",
+ 0
+};
+#endif
+
+const int BabelData::noType = -1;
+const int BabelData::fileType = 0;
+const int BabelData::deviceType = 1;
+//------------------------------------------------------------------------
+static QString findBabelVersion()
+{
+ QProcess babel;
+ babel.start("gpsbabel", QStringList() << "-V");
+ if (!babel.waitForStarted())
+ return QString();
+ babel.closeWriteChannel();
+ if (!babel.waitForFinished())
+ return QString();
+
+ QString str = babel.readAll();
+ str.replace(QRegExp("^[\\s]*"), "");
+ str.replace(QRegExp("[\\s]+$"), "");
+ return str;
+}
+//------------------------------------------------------------------------
+static QStringList getCharSets()
+{
+ QProcess babel;
+ babel.start("gpsbabel", QStringList() << "-l");
+ if (!babel.waitForStarted())
+ return QStringList();
+ babel.closeWriteChannel();
+ if (!babel.waitForFinished())
+ return QStringList();
+
+ QStringList strList;
+ QTextStream tstream(babel.readAll());
+ while(!tstream.atEnd()) {
+ QString l = tstream.readLine();
+ if (QRegExp("^\\*").indexIn(l) == 0) {
+ l.replace(QRegExp("^[\\*\\s]*"), "");
+ l.replace(QRegExp("[\\s]+$"), "");
+ strList << l;
+ }
+ }
+ return strList;
+}
+
+//------------------------------------------------------------------------
+static QString MakeOptions(const QList<FormatOption>& options)
+{
+ QString str;
+ for (int i=0; i<options.size(); i++) {
+ if (options[i].getSelected()) {
+ str += ",";
+ str += options[i].getName();
+ if (options[i].getType() != FormatOption::OPTbool) {
+ str += "=" + options[i].getValue().toString();
+ }
+ }
+ }
+ return str;
+}
+
+//------------------------------------------------------------------------
+static QString MakeOptionsNoLeadingComma(const QList<FormatOption>& options)
+{
+ QString str = MakeOptions(options);
+ return (str.length()) ? str.mid(1) : str;
+
+}
+//------------------------------------------------------------------------
+MainDlg::MainDlg(QWidget* parent): PersistentDialog(parent)
+{
+ loadFormats();
+ ui.setupUi(this);
+ setWindowTitle(appName);
+ babelVersion = findBabelVersion();
+ fmtChgInterlock = false;
+ loadDeviceNameCombos();
+ loadCharSetCombos();
+
+ connect(ui.inputFileOptBtn, SIGNAL(clicked()), this, SLOT(inputFileOptBtnClicked()));
+ connect(ui.inputDeviceOptBtn, SIGNAL(clicked()), this, SLOT(inputDeviceOptBtnClicked()));
+ connect(ui.inputFileNameBrowseBtn, SIGNAL(clicked()), this, SLOT(browseInputFile()));
+
+ ui.outputFileOptBtn->setAutoExclusive(false);
+ ui.outputDeviceOptBtn->setAutoExclusive(false);
+ connect(ui.outputFileOptBtn, SIGNAL(clicked()), this, SLOT(outputFileOptBtnClicked()));
+ connect(ui.outputDeviceOptBtn, SIGNAL(clicked()), this, SLOT(outputDeviceOptBtnClicked()));
+ connect(ui.outputFileNameBrowseBtn, SIGNAL(clicked()), this, SLOT(browseOutputFile()));
+ connect(ui.aboutButton, SIGNAL(clicked()), this, SLOT(aboutClicked()));
+ connect(ui.helpButton, SIGNAL(clicked()), this, SLOT(helpClicked()));
+
+ connect(ui.inputFormatCombo, SIGNAL(currentIndexChanged(int)),
+ this, SLOT(inputFormatChanged(int)));
+ connect(ui.outputFormatCombo, SIGNAL(currentIndexChanged(int)),
+ this, SLOT(outputFormatChanged(int)));
+ connect(ui.inputOptionsBtn, SIGNAL(clicked()),
+ this, SLOT(inputOptionButtonClicked()));
+ connect(ui.outputOptionsBtn , SIGNAL(clicked()),
+ this, SLOT(outputOptionButtonClicked()));
+ connect(ui.moreOptionButton , SIGNAL(clicked()),
+ this, SLOT(moreOptionButtonClicked()));
+
+ connect(ui.buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(applyClicked()));
+ connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(rejectedClicked()));
+ connect(ui.xlateFiltersBtn, SIGNAL(clicked()), this, SLOT(filtersClicked()));
+
+ ui.buttonBox->button(QDialogButtonBox::Apply)->setIcon(QIcon(":images/runit.png"));
+ ui.buttonBox->button(QDialogButtonBox::Close)->setIcon(QIcon(":images/exit.png"));
+
+
+ ui.inputOptionsText->setReadOnly(true);
+ ui.outputOptionsText->setReadOnly(true);
+
+ ui.inputFileNameText->setReadOnly(true);
+ ui.outputFileNameText->setReadOnly(true);
+ ui.wayPtLabel->setText("");
+ ui.trackLabel->setText("");
+ ui.routeLabel->setText("");
+ lights[0] = QPixmap::fromImage(QImage(":images/00.png").scaledToHeight(20, Qt::SmoothTransformation));
+ lights[1] = QPixmap::fromImage(QImage(":images/01.png").scaledToHeight(20, Qt::SmoothTransformation));
+ lights[2] = QPixmap::fromImage(QImage(":images/10.png").scaledToHeight(20, Qt::SmoothTransformation));
+ lights[3] = QPixmap::fromImage(QImage(":images/11.png").scaledToHeight(20, Qt::SmoothTransformation));
+
+ ui.outputWindow->setReadOnly(true);
+
+
+ //--- Restore from registry
+ restoreSettings();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::loadDeviceNameCombos()
+{
+ ui.inputDeviceNameCombo->clear();
+ ui.outputDeviceNameCombo->clear();
+ for (int i=0; deviceNames[i]; i++) {
+ ui.inputDeviceNameCombo->addItem(deviceNames[i]);
+ ui.outputDeviceNameCombo->addItem(deviceNames[i]);
+ }
+}
+//------------------------------------------------------------------------
+void MainDlg::loadCharSetCombos()
+{
+ charSets = getCharSets();
+
+ ui.inputCharSetCombo->clear();
+ ui.outputCharSetCombo->clear();
+ ui.inputCharSetCombo->addItem(tr("default"), QVariant(-1));
+ ui.outputCharSetCombo->addItem(tr("default"), QVariant(-1));
+ for (int i=0; i<charSets.size(); i++) {
+ ui.inputCharSetCombo->addItem(charSets[i], QVariant(i));
+ ui.outputCharSetCombo->addItem(charSets[i], QVariant(i));
+ }
+}
+//------------------------------------------------------------------------
+void MainDlg::checkCharSetCombos()
+{
+ ui.inputCharSetCombo->setEnabled(bd.enableCharSetXform);
+ ui.outputCharSetCombo->setEnabled(bd.enableCharSetXform);
+ ui.inputCharSetCombo->setVisible(bd.enableCharSetXform);
+ ui.outputCharSetCombo->setVisible(bd.enableCharSetXform);
+}
+//------------------------------------------------------------------------
+void MainDlg::inputFileOptBtnClicked()
+{
+ fmtChgInterlock = true;
+ QString fmt = bd.inputFileFormat;
+ ui.inputStackedWidget->setCurrentWidget(ui.inputFilePage);
+ QList<int>indices = inputFileFormatIndices();
+ ui.inputFormatCombo->clear();
+ for (int i=0; i<indices.size(); i++) {
+ int k = indices[i];
+ ui.inputFormatCombo->addItem(formatList[k].getDescription(), QVariant(k));
+ }
+ setComboToFormat(ui.inputFormatCombo, fmt, true);
+ fmtChgInterlock = false;
+}
+
+//------------------------------------------------------------------------
+void MainDlg::inputDeviceOptBtnClicked()
+{
+ fmtChgInterlock = true;
+ QString fmt = bd.inputDeviceFormat;
+ ui.inputStackedWidget->setCurrentWidget(ui.inputDevicePage);
+ QList<int>indices = inputDeviceFormatIndices();
+ ui.inputFormatCombo->clear();
+ for (int i=0; i<indices.size(); i++) {
+ int k = indices[i];
+ ui.inputFormatCombo->addItem(formatList[k].getDescription(), QVariant(k));
+ }
+ setComboToFormat(ui.inputFormatCombo, fmt, false);
+ fmtChgInterlock = false;
+}
+
+//------------------------------------------------------------------------
+void MainDlg:: outputFileOptBtnClicked()
+{
+ fmtChgInterlock = true;
+ if (ui.outputFileOptBtn->isChecked()) {
+ ui.outputFilePage->setEnabled(true);
+ ui.outputDeviceOptBtn->setChecked(false);
+ QString fmt = bd.outputFileFormat;
+ ui.outputStackedWidget->setCurrentWidget(ui.outputFilePage);
+ QList<int>indices = outputFileFormatIndices();
+ ui.outputFormatCombo->clear();
+ for (int i=0; i<indices.size(); i++) {
+ int k = indices[i];
+ ui.outputFormatCombo->addItem(formatList[k].getDescription(), QVariant(k));
+ }
+ setComboToFormat(ui.outputFormatCombo, fmt, true);
+ }
+ else {
+ ui.outputStackedWidget->setCurrentWidget(ui.outputFilePage);
+ ui.outputFilePage->setEnabled(false);
+ }
+ fmtChgInterlock = false;
+}
+
+//------------------------------------------------------------------------
+void MainDlg:: outputDeviceOptBtnClicked()
+{
+ fmtChgInterlock = true;
+ if (ui.outputDeviceOptBtn->isChecked()) {
+ ui.outputDevicePage->setEnabled(true);
+ ui.outputFileOptBtn->setChecked(false);
+ QString fmt = bd.outputDeviceFormat;
+ ui.outputStackedWidget->setCurrentWidget(ui.outputDevicePage);
+ QList<int>indices = outputDeviceFormatIndices();
+ ui.outputFormatCombo->clear();
+ for (int i=0; i<indices.size(); i++) {
+ int k = indices[i];
+ ui.outputFormatCombo->addItem(formatList[k].getDescription(), QVariant(k));
+ }
+ setComboToFormat(ui.outputFormatCombo, fmt, false);
+ }
+ else {
+ ui.outputStackedWidget->setCurrentWidget(ui.outputDevicePage);
+ ui.outputDevicePage->setEnabled(false);
+ }
+ fmtChgInterlock = false;
+}
+
+//------------------------------------------------------------------------
+QString MainDlg::filterForFormat(int idx)
+{
+ QString str = formatList[idx].getDescription();
+ str += " (";
+ QStringList extensions = formatList[idx].getExtensions();
+ for (int i=0; i<extensions.size(); i++) {
+ if (i!= 0)
+ str += " ";
+ str += "*." + extensions[i];
+ }
+ str += ");;All Files (*.*)";
+ return str;
+}
+
+//------------------------------------------------------------------------
+int MainDlg::currentComboFormatIndex(QComboBox *comboBox)
+{
+ int idx = comboBox->currentIndex();
+ if (idx<0 || idx >= comboBox->count()) {
+ QMessageBox::critical(0, appName,
+ "*** Internal Error -- current combo index is invalid!");
+ return 0;
+ }
+ return comboBox->itemData(idx).toInt();
+}
+//------------------------------------------------------------------------
+void MainDlg::browseInputFile()
+{
+ QString startFile = bd.inputFileNames.size() ? bd.inputFileNames[0] : bd.inputBrowse;
+ int idx = currentComboFormatIndex(ui.inputFormatCombo);
+
+ QStringList userList =
+ QFileDialog::getOpenFileNames(0, tr("Select one or more input files"),
+ startFile,
+ filterForFormat(idx));
+ if (userList.size()) {
+ bd.inputBrowse = userList[0];
+ bd.inputFileNames = userList;
+ QString str;
+ for (int i=0; i<bd.inputFileNames.size(); i++) {
+ if (i != 0)
+ str += ", ";
+ str += "\"" + bd.inputFileNames[i] + "\"";
+ }
+ ui.inputFileNameText->setText(str);
+ }
+}
+
+//------------------------------------------------------------------------
+void MainDlg::browseOutputFile()
+{
+ int idx = currentComboFormatIndex(ui.outputFormatCombo);
+ QString startFile = bd.outputFileName.length() == 0 ? bd.outputBrowse : bd.outputFileName;
+ QString str =
+ QFileDialog::getSaveFileName(0, tr("Output File Name"),
+ startFile,
+ filterForFormat(idx));
+ if (str.length() != 0) {
+ bd.outputBrowse = str;
+ bd.outputFileName = str;
+ ui.outputFileNameText->setText(str);
+ }
+}
+
+//------------------------------------------------------------------------
+QList<int> MainDlg::inputFileFormatIndices()
+{
+ QList<int>indices;
+ for (int i=0; i<formatList.size(); i++) {
+ if (formatList[i].isReadSomething() && formatList[i].isFileFormat())
+ indices<<i;
+ }
+ return indices;
+}
+
+//------------------------------------------------------------------------
+QList<int> MainDlg::inputDeviceFormatIndices()
+{
+ QList<int>indices;
+ for (int i=0; i<formatList.size(); i++) {
+ if (formatList[i].isReadSomething() && formatList[i].isDeviceFormat())
+ indices<<i;
+ }
+ return indices;
+}
+
+//------------------------------------------------------------------------
+QList<int> MainDlg::outputFileFormatIndices()
+{
+ QList<int>indices;
+ for (int i=0; i<formatList.size(); i++) {
+ if (formatList[i].isWriteSomething() && formatList[i].isFileFormat())
+ indices<<i;
+ }
+ return indices;
+}
+
+//------------------------------------------------------------------------
+QList<int> MainDlg::outputDeviceFormatIndices()
+{
+ QList<int>indices;
+ for (int i=0; i<formatList.size(); i++) {
+ if (formatList[i].isWriteSomething() && formatList[i].isDeviceFormat())
+ indices<<i;
+ }
+ return indices;
+}
+
+//------------------------------------------------------------------------
+void MainDlg::loadFormats()
+{
+ if (!FormatLoad().getFormats(formatList)) {
+ QMessageBox::information(0, QString(appName),
+ tr("Error reading format configuration. "
+ "Check that the backend program \"gpsbabel\" is properly installed "
+ "and is in the current PATH\n\n"
+ "This program cannot continue."));
+ exit(1);
+ }
+ if (inputFileFormatIndices().size() == 0 ||
+ inputDeviceFormatIndices().size() == 0 ||
+ outputFileFormatIndices().size() == 0 ||
+ outputDeviceFormatIndices().size() == 0) {
+ QMessageBox::information(0, QString(appName),
+ tr("Some file/device formats were not found during initialization. "
+ "Check that the backend program \"gpsbabel\" is properly installed "
+ "and is in the current PATH\n\n"
+ "This program cannot continue."));
+ exit(1);
+ }
+}
+//------------------------------------------------------------------------
+static int iconIndex(bool a, bool b)
+{
+ return ((a?1:0)*2) + (b?1:0);
+}
+
+//------------------------------------------------------------------------
+void MainDlg::setIndicatorLights(QLabel *label, const QString type, int code)
+{
+ label->setPixmap(lights[code]);
+ QString s;
+ switch (code)
+ {
+ default:
+ case 0:
+ s = tr("Input and output formats do not support %1").arg(type);
+ break;
+ case 1:
+ s = tr("Input does not support %1; output format supports %2").arg(type).arg(type);
+ break;
+ case 2:
+ s = tr("Input format supports %1; output format does not support %2").arg(type).arg(type);
+ break;
+ case 3:
+ s = tr("Both input and output formats support %1").arg(type);
+ break;
+ }
+ label->setToolTip(s);
+}
+
+//------------------------------------------------------------------------
+void MainDlg::crossCheckInOutFormats()
+{
+ if (ui.inputFormatCombo->count() == 0 ||
+ ui.outputFormatCombo->count() == 0) {
+ // During format/device switch this is true
+ return;
+ }
+ Format ifmt = formatList[currentComboFormatIndex(ui.inputFormatCombo)];
+ Format ofmt = formatList[currentComboFormatIndex(ui.outputFormatCombo)];
+
+ ui.xlateWayPtsCk->setEnabled(ifmt.isReadWaypoints() && ofmt.isWriteWaypoints());
+ ui.xlateTracksCk->setEnabled(ifmt.isReadTracks() && ofmt.isWriteTracks());
+ ui.xlateRoutesCk->setEnabled(ifmt.isReadRoutes() && ofmt.isWriteRoutes());
+
+ setIndicatorLights(ui.wayPtLabel, tr("waypoints"), iconIndex(ifmt.isReadWaypoints(), ofmt.isWriteWaypoints()));
+ setIndicatorLights(ui.trackLabel, tr("tracks"), iconIndex(ifmt.isReadTracks(), ofmt.isWriteTracks()));
+ setIndicatorLights(ui.routeLabel, tr("routes"), iconIndex(ifmt.isReadRoutes(), ofmt.isWriteRoutes()));
+}
+
+//------------------------------------------------------------------------
+void MainDlg::displayOptionsText(QLineEdit *le, QComboBox *combo, bool isInput)
+{
+ int fidx = combo->itemData(combo->currentIndex()).toInt();
+ if (isInput)
+ le->setText(MakeOptionsNoLeadingComma(formatList[fidx].getInputOptions()));
+ else
+ le->setText(MakeOptionsNoLeadingComma(formatList[fidx].getOutputOptions()));
+
+}
+
+//------------------------------------------------------------------------
+void MainDlg::setComboToFormat(QComboBox *comboBox, const QString &name, bool isFile)
+{
+ int fidx = -1;
+ for (int i=0; i<formatList.size(); i++) {
+ if (formatList[i].getName() == name &&
+ formatList[i].isFileFormat() == isFile) {
+ fidx = i;
+ break;
+ }
+ }
+ if (fidx >=0) {
+ for (int i=0; i<comboBox->count(); i++) {
+ if (comboBox->itemData(i).toInt() == fidx) {
+ comboBox->setCurrentIndex(i);
+ break;
+ }
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+void MainDlg::inputFormatChanged(int comboIdx)
+{
+ if (fmtChgInterlock)
+ return;
+ int fidx = ui.inputFormatCombo->itemData(comboIdx).toInt();
+ ui.inputOptionsBtn->setEnabled(formatList[fidx].getInputOptions().size()>0);
+ displayOptionsText(ui.inputOptionsText, ui.inputFormatCombo, true);
+ crossCheckInOutFormats();
+
+ if (ui.inputFileOptBtn->isChecked())
+ bd.inputFileFormat =formatList[fidx].getName();
+ else
+ bd.inputDeviceFormat = formatList[fidx].getName();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::outputFormatChanged(int comboIdx)
+{
+ if (fmtChgInterlock)
+ return;
+ int fidx = ui.outputFormatCombo->itemData(comboIdx).toInt();
+ ui.outputOptionsBtn->setEnabled(formatList[fidx].getOutputOptions().size()>0);
+ displayOptionsText(ui.outputOptionsText, ui.outputFormatCombo, false);
+ crossCheckInOutFormats();
+
+ if (ui.outputFileOptBtn->isChecked())
+ bd.outputFileFormat =formatList[fidx].getName();
+ else if (ui.outputDeviceOptBtn->isChecked())
+ bd.outputDeviceFormat = formatList[fidx].getName();
+
+}
+
+//------------------------------------------------------------------------
+void MainDlg::inputOptionButtonClicked()
+{
+ int fidx = currentComboFormatIndex(ui.inputFormatCombo);
+ OptionsDlg optionDlg(0,
+ formatList[fidx].getName(),
+ formatList[fidx].getInputOptionsRef());
+ optionDlg.setWindowTitle(QString(appName) + " - " + tr("Options for %1").arg(formatList[fidx].getName()));
+ optionDlg.exec();
+ displayOptionsText(ui.inputOptionsText, ui.inputFormatCombo, true);
+}
+
+//------------------------------------------------------------------------
+void MainDlg::outputOptionButtonClicked()
+{
+ int fidx = currentComboFormatIndex(ui.outputFormatCombo);
+ OptionsDlg optionDlg(0, formatList[fidx].getName(), formatList[fidx].getOutputOptionsRef());
+ optionDlg.setWindowTitle(QString(appName) + " - " + tr("Options for %1").arg(formatList[fidx].getName()));
+ optionDlg.exec();
+ displayOptionsText(ui.outputOptionsText, ui.outputFormatCombo, false);
+}
+
+
+//------------------------------------------------------------------------
+bool MainDlg::isOkToGo()
+{
+ if (!((ui.xlateWayPtsCk->isChecked() && ui.xlateWayPtsCk->isEnabled()) ||
+ (ui.xlateRoutesCk->isChecked() && ui.xlateRoutesCk->isEnabled()) ||
+ (ui.xlateTracksCk->isChecked() && ui.xlateTracksCk->isEnabled()))) {
+ QMessageBox::information(0, QString(appName), tr("No valid waypoints/routes/tracks translation specified"));
+ return false;
+ }
+
+ if ((bd.inputType == BabelData::fileType) &&
+ (bd.inputFileNames.size() == 0)) {
+ QMessageBox::information(0, QString(appName), tr("No input file specified"));
+ return false;
+ }
+
+ if (bd.outputType == BabelData::noType && bd.previewGmap == true) {
+ }
+ if (bd.outputType == BabelData::noType && bd.previewGmap == false) {
+ QMessageBox::information(0, QString(appName), tr("No valid output specified"));
+ return false;
+ }
+ else if (bd.outputType == BabelData::fileType &&
+ bd.outputFileName.length() == 0) {
+ QMessageBox::information(0, QString(appName), tr("No output file specified"));
+ return false;
+ }
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool MainDlg::runGpsbabel(const QStringList &args, QString &errorString,
+ QString &outputString)
+{
+ QProcess *proc = new QProcess(0);
+ QString name = "gpsbabel";
+ proc->start(name, args);
+ ProcessWaitDialog *waitDlg = new ProcessWaitDialog(0, proc);
+
+ if (proc->state() == QProcess::NotRunning) {
+ errorString = QString(tr("Process \"%1\" did not start")).arg(name);
+ return false;
+ }
+
+ waitDlg->show();
+ waitDlg->exec();
+ int exitCode = -1;
+ bool retStatus = false;
+ if (waitDlg->getExitedNormally()) {
+ exitCode = waitDlg->getExitCode();
+ if (exitCode == 0)
+ retStatus = true;
+ else {
+ errorString =
+ QString(tr("Process exited unsucessfully with code %1"))
+ .arg(exitCode);
+ retStatus = false;
+ }
+ }
+ else {
+ retStatus = false;
+ errorString = waitDlg->getErrorString();
+ }
+ outputString = waitDlg->getOutputString();
+ delete proc;
+ delete waitDlg;
+ return retStatus;
+}
+
+//------------------------------------------------------------------------
+int MainDlg::formatIndexFromName(bool isFile, const QString &nm)
+{
+ for (int i= 0; i<formatList.size(); i++) {
+ if (nm == formatList[i].getName() && formatList[i].isFileFormat() == isFile)
+ return i;
+ }
+ return 0;
+}
+
+//------------------------------------------------------------------------
+QString MainDlg::charSetFromCombo(QComboBox *combo)
+{
+ int i = combo->itemData((combo->currentIndex())).toInt();
+ return (i >=0 ) ? charSets[i] : QString();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::setComboToCharSet(QComboBox *combo, const QString &cset)
+{
+ for (int i=0; i<charSets.size(); i++) {
+ if (charSets[i] == cset) {
+ combo->setCurrentIndex(i+1); // first index is default;
+ }
+ }
+}
+//------------------------------------------------------------------------
+void MainDlg::applyClicked()
+{
+ getWidgetValues();
+ if (!isOkToGo())
+ return;
+
+ QStringList args;
+
+ if (bd.debugLevel >=0) args << QString("-D%1").arg(bd.debugLevel);
+ if (bd.synthShortNames) args << "-s";
+
+ // Input char set if specified
+ if (bd.enableCharSetXform && bd.inputCharSet != QString())
+ args << "-c" << bd.inputCharSet;
+
+ // Input type, with options
+ bool iisFile = (bd.inputType == BabelData::fileType);
+ int fidx = formatIndexFromName(iisFile, iisFile ?
+ bd.inputFileFormat : bd.inputDeviceFormat);
+ args << "-i";
+ args << (formatList[fidx].getName() + MakeOptions(formatList[fidx].getInputOptions()));
+
+ // Input file(s) or device
+ if (bd.inputType == BabelData::fileType) {
+ for (int i=0; i<bd.inputFileNames.size(); i++)
+ args << "-f" << bd.inputFileNames[i];
+ }
+ else {
+ args << "-f" << bd.inputDeviceName;
+ }
+
+ if (bd.xlateWayPts) args << "-w";
+ if (bd.xlateRoutes) args << "-r";
+ if (bd.xlateTracks) args << "-t";
+
+ // --- Filters!
+ args << filterData.getAllFilterStrings();
+
+ // Output char set if specified
+ if (bd.enableCharSetXform && bd.outputCharSet != QString())
+ args << "-c" << bd.outputCharSet;
+
+ // Output type, with options
+ if (bd.outputType != BabelData::noType) {
+ bool outIsFile = (bd.outputType == BabelData::fileType);
+ fidx = formatIndexFromName(outIsFile, (outIsFile ?
+ bd.outputFileFormat : bd.outputDeviceFormat));
+ args << "-o";
+ args << (formatList[fidx].getName() + MakeOptions(formatList[fidx].getOutputOptions()));
+
+ // output file or device option
+ if (outIsFile) {
+ if (bd.outputFileName != "")
+ args << "-F" << bd.outputFileName;
+ }
+ else if (bd.outputType == BabelData::deviceType) {
+ args << "-F" << bd.outputDeviceName;
+ }
+ }
+
+ // Now output for preview in google maps
+ QString tempName;
+ if (bd.previewGmap) {
+ QTemporaryFile ftemp;
+ ftemp.open();
+ tempName = ftemp.fileName();
+ ftemp.close();
+ args << "-o";
+ args << "gpx";
+ args << "-F" << tempName;
+ }
+
+ ui.outputWindow->clear();
+ ui.outputWindow->appendPlainText("gpsbabel " + args.join(" "));
+
+ QString errorString, outputString;
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ bool x = runGpsbabel(args, errorString, outputString);
+ QApplication::restoreOverrideCursor();
+
+ ui.outputWindow->appendPlainText(outputString);
+ if (x) {
+ ui.outputWindow->appendPlainText(tr("Translation successful"));
+ if (bd.previewGmap) {
+ this->hide();
+ GMapDialog dlg(0, tempName, bd.debugLevel >=1 ? ui.outputWindow : 0);
+ dlg.show();
+ dlg.exec();
+ this->show();
+ }
+ }
+ else
+ ui.outputWindow->appendPlainText(tr("Error running gpsbabel: %1\n").arg(errorString));
+}
+
+//------------------------------------------------------------------------
+void MainDlg::rejectedClicked()
+{
+ saveSettings();
+ reject();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::closeEvent(QCloseEvent*)
+{
+ saveSettings();
+ reject();
+}
+//------------------------------------------------------------------------
+void MainDlg::setComboToDevice(QComboBox *comboBox, const QString &name)
+{
+ for (int i=0; i<comboBox->count(); i++) {
+ if (comboBox->itemText(i) == name) {
+ comboBox->setCurrentIndex(i);
+ break;
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+void MainDlg::saveSettings()
+{
+ getWidgetValues();
+
+ QSettings settings;
+ bd.saveSettings(settings);
+ for (int i=0; i<formatList.size(); i++)
+ formatList[i].saveSettings(settings);
+ for (int i=0; i<filterData.filters.size(); i++)
+ filterData.filters[i]->saveSettings(settings);
+}
+
+//------------------------------------------------------------------------
+void MainDlg::restoreSettings()
+{
+ QSettings settings;
+ bd.restoreSettings(settings);
+ for (int i=0; i<formatList.size(); i++)
+ formatList[i].restoreSettings(settings);
+
+ for (int i=0; i<filterData.filters.size(); i++)
+ filterData.filters[i]->restoreSettings(settings);
+
+ setWidgetValues();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::resetFormatDefaults()
+{
+ int ret = QMessageBox::warning
+ (this, QString(appName),
+ tr("Are you sure you want to reset all format options to default values?"),
+ QMessageBox::Yes | QMessageBox::No);
+ if (ret == QMessageBox::Yes) {
+ for (int i=0; i<formatList.size(); i++)
+ formatList[i].setToDefault();
+ displayOptionsText(ui.inputOptionsText, ui.inputFormatCombo, true);
+ displayOptionsText(ui.outputOptionsText, ui.outputFormatCombo, false);
+ }
+}
+
+//------------------------------------------------------------------------
+void MainDlg::moreOptionButtonClicked()
+{
+ AdvDlg advDlg(0, bd.synthShortNames,
+ bd.forceGPSTypes, bd.enableCharSetXform, bd.previewGmap, bd.debugLevel);
+ connect(advDlg.formatButton(), SIGNAL(clicked()),
+ this, SLOT(resetFormatDefaults()));
+ advDlg.exec();
+ checkCharSetCombos();
+}
+//------------------------------------------------------------------------
+void MainDlg::aboutClicked()
+{
+ AboutDlg aboutDlg(0, babelVersion, QString(appName) + " Version 0.11");
+ aboutDlg.setWindowTitle(tr("About %1").arg(appName));
+ aboutDlg.exec();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::helpClicked()
+{
+ ShowHelp("gpsbabel.html");
+}
+//------------------------------------------------------------------------
+void MainDlg::filtersClicked()
+{
+ FilterDialog dlg(0, filterData);
+ dlg.runDialog();
+ updateFilterStatus();
+}
+
+
+//------------------------------------------------------------------------
+void MainDlg::updateFilterStatus()
+{
+ bool filterActive = filterData.getAllFilterStrings().size();
+ ui.filterStatus->setEnabled(filterActive);
+ if (filterActive)
+ ui.filterStatus->setToolTip(tr("One or more data filters are active"));
+ else {
+ ui.filterStatus->setToolTip(tr("No data filters are active"));
+ }
+}
+//------------------------------------------------------------------------
+void MainDlg::setWidgetValues()
+{
+ if (bd.inputType == BabelData::fileType) {
+ ui.inputFileOptBtn->setChecked(true);
+ inputFileOptBtnClicked();
+ setComboToFormat(ui.inputFormatCombo, bd.inputFileFormat, true);
+ ui.inputStackedWidget->setCurrentWidget(ui.inputFilePage);
+ }
+ else {
+ ui.inputDeviceOptBtn->setChecked(true);
+ inputDeviceOptBtnClicked();
+ setComboToFormat(ui.inputFormatCombo, bd.inputDeviceFormat, false);
+ ui.inputStackedWidget->setCurrentWidget(ui.inputDevicePage);
+ }
+ setComboToDevice(ui.inputDeviceNameCombo, bd.inputDeviceName);
+ setComboToCharSet(ui.inputCharSetCombo, bd.inputCharSet);
+
+ if (bd.outputType == BabelData::fileType) {
+ ui.outputFileOptBtn->setChecked(true);
+ outputFileOptBtnClicked();
+ setComboToFormat(ui.outputFormatCombo, bd.outputFileFormat, true);
+ ui.outputStackedWidget->setCurrentWidget(ui.outputFilePage);
+ }
+ else if (bd.outputType == BabelData::deviceType) {
+ ui.outputDeviceOptBtn->setChecked(true);
+ outputDeviceOptBtnClicked();
+ setComboToFormat(ui.outputFormatCombo, bd.outputDeviceFormat, false);
+ ui.outputStackedWidget->setCurrentWidget(ui.outputDevicePage);
+ }
+ else {
+ ui.outputFileOptBtn->setChecked(false);
+ ui.outputDeviceOptBtn->setChecked(false);
+ setComboToFormat(ui.outputFormatCombo, bd.outputFileFormat, true);
+ ui.outputStackedWidget->setCurrentWidget(ui.outputFilePage);
+ ui.outputFilePage->setDisabled(true);
+ }
+
+ setComboToDevice(ui.outputDeviceNameCombo, bd.outputDeviceName);
+ setComboToCharSet(ui.outputCharSetCombo, bd.outputCharSet);
+
+ ui.xlateWayPtsCk->setChecked(bd.xlateWayPts);
+ ui.xlateTracksCk->setChecked(bd.xlateTracks);
+ ui.xlateRoutesCk->setChecked(bd.xlateRoutes);
+
+ crossCheckInOutFormats();
+ displayOptionsText(ui.inputOptionsText, ui.inputFormatCombo, true);
+ displayOptionsText(ui.outputOptionsText, ui.outputFormatCombo, false);
+
+ checkCharSetCombos();
+ updateFilterStatus();
+}
+
+//------------------------------------------------------------------------
+void MainDlg::getWidgetValues()
+{
+ int comboIdx = ui.inputFormatCombo->currentIndex();
+ int fidx = ui.inputFormatCombo->itemData(comboIdx).toInt();
+ if (ui.inputFileOptBtn->isChecked()){
+ bd.inputType = BabelData::fileType;
+ bd.inputFileFormat =formatList[fidx].getName();
+ }
+ else {
+ bd.inputType = BabelData::deviceType;
+ bd.inputDeviceFormat =formatList[fidx].getName();
+ }
+ bd.inputDeviceName = ui.inputDeviceNameCombo->currentText();
+ bd.inputCharSet = charSetFromCombo(ui.inputCharSetCombo);
+
+ comboIdx = ui.outputFormatCombo->currentIndex();
+ fidx = ui.outputFormatCombo->itemData(comboIdx).toInt();
+ if (ui.outputFileOptBtn->isChecked()){
+ bd.outputType = BabelData::fileType;
+ bd.outputFileFormat =formatList[fidx].getName();
+ }
+ else if (ui.outputDeviceOptBtn->isChecked()){
+ bd.outputType = BabelData::deviceType;
+ bd.outputDeviceFormat =formatList[fidx].getName();
+ }
+ else {
+ bd.outputType = BabelData::noType;
+ }
+ bd.outputDeviceName = ui.outputDeviceNameCombo->currentText();
+ bd.outputCharSet = charSetFromCombo(ui.outputCharSetCombo);
+
+ bd.xlateWayPts = ui.xlateWayPtsCk->isChecked();
+ bd.xlateTracks = ui.xlateTracksCk->isChecked();
+ bd.xlateRoutes = ui.xlateRoutesCk->isChecked();
+}
+
+
--- /dev/null
+// -*- C++ -*-
+// $Id: maindlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+#ifndef MAINDLG_H
+#define MAINDLG_H
+
+#include "ui_mainui.h"
+#include "persistdlg.h"
+#include "format.h"
+#include "filterdata.h"
+#include "babeldata.h"
+
+class MainDlg: public PersistentDialog {
+ Q_OBJECT
+
+
+ public:
+ MainDlg(QWidget* parent);
+
+private:
+ Ui_MainDlg ui;
+ QList<Format> formatList;
+ QString babelVersion;
+ QPixmap lights[4];
+ QStringList charSets;
+ AllFiltersData filterData;
+ BabelData bd;
+ bool fmtChgInterlock;
+
+private:
+ void loadFormats();
+ QString filterForFormat(int idx);
+ int formatIndexFromName(bool isFile, const QString &);
+ QList<int>inputFileFormatIndices();
+ QList<int>inputDeviceFormatIndices();
+ QList<int>outputFileFormatIndices();
+ QList<int>outputDeviceFormatIndices();
+ int currentComboFormatIndex(QComboBox *comboBox);
+ bool isOkToGo();
+ bool runGpsbabel(const QStringList &args, QString &errorString, QString &outputString);
+ void crossCheckInOutFormats();
+ void setIndicatorLights(QLabel *label, const QString type, int code) ;
+ void displayOptionsText(QLineEdit *, QComboBox *, bool);
+
+ void saveSettings();
+ void restoreSettings();
+ void setComboToFormat(QComboBox *comboBox, const QString &, bool isFile);
+ void setComboToDevice(QComboBox *comboBox, const QString &);
+
+ void loadDeviceNameCombos();
+ void loadCharSetCombos();
+ void checkCharSetCombos();
+ QString charSetFromCombo(QComboBox *);
+ void setComboToCharSet(QComboBox *, const QString &);
+ void updateFilterStatus();
+ void setWidgetValues();
+ void getWidgetValues();
+
+protected:
+ void closeEvent(QCloseEvent*);
+
+ private slots:
+ void inputFileOptBtnClicked();
+ void inputDeviceOptBtnClicked();
+ void inputOptionButtonClicked();
+ void inputFormatChanged(int);
+ void browseInputFile();
+ void outputFileOptBtnClicked();
+ void outputDeviceOptBtnClicked();
+ void outputOptionButtonClicked();
+ void outputFormatChanged(int);
+ void browseOutputFile();
+ void moreOptionButtonClicked();
+ void applyClicked();
+ void rejectedClicked();
+ void aboutClicked();
+ void helpClicked();
+ void filtersClicked();
+ void resetFormatDefaults();
+
+};
+
+
+#endif
--- /dev/null
+<ui version="4.0" >
+ <class>MainDlg</class>
+ <widget class="QWidget" name="MainDlg" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>614</width>
+ <height>587</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>10</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="windowTitle" >
+ <string>GpsBabel</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_5" >
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QPushButton" name="aboutButton" >
+ <property name="text" >
+ <string>About</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="app.qrc" >
+ <normaloff>:/images/appicon.png</normaloff>:/images/appicon.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="helpButton" >
+ <property name="text" >
+ <string>Help</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="app.qrc" >
+ <normaloff>:/images/help.png</normaloff>:/images/help.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="title" >
+ <string>Input </string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <property name="topMargin" >
+ <number>4</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>4</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5" >
+ <item>
+ <widget class="QRadioButton" name="inputFileOptBtn" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>If selected, input is from a file.</string>
+ </property>
+ <property name="text" >
+ <string>File</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="inputDeviceOptBtn" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>If selected, input is from a device or GPS unit</string>
+ </property>
+ <property name="text" >
+ <string>Device</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2a" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>18</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Format</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="inputFormatCombo" >
+ <property name="toolTip" >
+ <string>Input data format</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="inputCharSetCombo" >
+ <property name="toolTip" >
+ <string>Character encoding of input</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QStackedWidget" name="inputStackedWidget" >
+ <property name="lineWidth" >
+ <number>0</number>
+ </property>
+ <property name="currentIndex" >
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="inputFilePage" >
+ <layout class="QHBoxLayout" name="horizontalLayout_4" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
+ <item>
+ <widget class="QPushButton" name="inputFileNameBrowseBtn" >
+ <property name="toolTip" >
+ <string>Browse for one or more input files. </string>
+ </property>
+ <property name="text" >
+ <string>File Name(s)</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="app.qrc" >
+ <normaloff>:/images/open.png</normaloff>:/images/open.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="inputFileNameText" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>10</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="inputDevicePage" >
+ <layout class="QVBoxLayout" name="verticalLayout_2" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3" >
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Device Name:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="inputDeviceNameCombo" >
+ <property name="toolTip" >
+ <string>Name of port to which input device is connected</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3a" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6" >
+ <item>
+ <widget class="QPushButton" name="inputOptionsBtn" >
+ <property name="toolTip" >
+ <string>Options for the selected input format. </string>
+ </property>
+ <property name="text" >
+ <string>Options</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="inputOptionsText" />
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="title" >
+ <string>Translation Options</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_7" >
+ <property name="margin" >
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="wayPtLabel" >
+ <property name="text" >
+ <string>-</string>
+ </property>
+ <property name="scaledContents" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="xlateWayPtsCk" >
+ <property name="toolTip" >
+ <string>If selected, translate waypoints.</string>
+ </property>
+ <property name="text" >
+ <string>Waypoints</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_6" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>15</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="routeLabel" >
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="xlateRoutesCk" >
+ <property name="toolTip" >
+ <string>If selected, translate routes.</string>
+ </property>
+ <property name="text" >
+ <string>Routes</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line_2" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_7" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>15</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="trackLabel" >
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="xlateTracksCk" >
+ <property name="toolTip" >
+ <string>If selected, translate tracks.</string>
+ </property>
+ <property name="text" >
+ <string>Tracks</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>18</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="filterStatus" >
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="pixmap" >
+ <pixmap resource="app.qrc" >:/images/ok20.png</pixmap>
+ </property>
+ <property name="scaledContents" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="xlateFiltersBtn" >
+ <property name="toolTip" >
+ <string>Data Filters between input and output</string>
+ </property>
+ <property name="text" >
+ <string>Filters</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_8" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>244</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="moreOptionButton" >
+ <property name="toolTip" >
+ <string>More translation options. </string>
+ </property>
+ <property name="text" >
+ <string>More Options</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_3" >
+ <property name="title" >
+ <string>Output</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3" >
+ <property name="topMargin" >
+ <number>4</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>4</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8" >
+ <item>
+ <widget class="QRadioButton" name="outputFileOptBtn" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>If selected, output is to a file. </string>
+ </property>
+ <property name="text" >
+ <string>File</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="outputDeviceOptBtn" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>If selected, output is to a device or GPS unit</string>
+ </property>
+ <property name="text" >
+ <string>Device</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2b" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>18</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Format</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="outputFormatCombo" >
+ <property name="toolTip" >
+ <string>Output data format.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="outputCharSetCombo" >
+ <property name="toolTip" >
+ <string>Character encoding of output</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QStackedWidget" name="outputStackedWidget" >
+ <property name="currentIndex" >
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="outputFilePage" >
+ <layout class="QHBoxLayout" name="horizontalLayout_9" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_10" >
+ <item>
+ <widget class="QPushButton" name="outputFileNameBrowseBtn" >
+ <property name="toolTip" >
+ <string>Browse for an output file name. </string>
+ </property>
+ <property name="text" >
+ <string>File Name</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="app.qrc" >
+ <normaloff>:/images/save.png</normaloff>:/images/save.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="outputFileNameText" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>10</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="outputDevicePage" >
+ <layout class="QVBoxLayout" name="verticalLayout_4" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_11" >
+ <item>
+ <widget class="QLabel" name="label_6" >
+ <property name="text" >
+ <string>Device Name:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="outputDeviceNameCombo" >
+ <property name="toolTip" >
+ <string>Name of port to which output device is connected</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3b" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_12" >
+ <item>
+ <widget class="QPushButton" name="outputOptionsBtn" >
+ <property name="toolTip" >
+ <string>Options for the selected output format. </string>
+ </property>
+ <property name="text" >
+ <string>Options</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="outputOptionsText" />
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="outputWindow" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>10</horstretch>
+ <verstretch>10</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>Output of GPSBabel translation process. </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="toolTip" >
+ <string/>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Close</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="app.qrc" />
+ </resources>
+ <connections/>
+</ui>
--- /dev/null
+# -*- Makefile -*-
+# $Id: makeextras.mak,v 1.1 2009/07/05 21:14:56 robertl Exp $
+
+COPY=cp
+
+XLATE=\
+objects/translations/gpsbabelfe_de.ts \
+objects/translations/gpsbabelfe_fr.ts \
+objects/translations/gpsbabelfe_es.ts \
+objects/translations/gpsbabelfe_hu.ts \
+objects/translations/gpsbabelfe_it.ts \
+objects/translations/gpsbabelfe_de.qm \
+objects/translations/gpsbabelfe_fr.qm \
+objects/translations/gpsbabelfe_es.qm \
+objects/translations/gpsbabelfe_hu.qm \
+objects/translations/gpsbabelfe_it.qm \
+objects/translations/gpsbabel_de.ts \
+objects/translations/gpsbabel_fr.ts \
+objects/translations/gpsbabel_es.ts \
+objects/translations/gpsbabel_hu.ts \
+objects/translations/gpsbabel_it.ts \
+objects/translations/gpsbabel_de.qm \
+objects/translations/gpsbabel_fr.qm \
+objects/translations/gpsbabel_es.qm \
+objects/translations/gpsbabel_hu.qm \
+objects/translations/gpsbabel_it.qm
+
+EXTRAS=\
+objects/showUrl.sh \
+objects/qt.conf \
+objects/gpsbabelfe \
+
+EXTERNS=\
+objects/gpsbabel \
+objects/help/gpsbabel.html \
+objects/libQtCore.so.4 \
+objects/libQtGui.so.4 \
+objects/libQtCore.so.4.4.3 \
+objects/libQtGui.so.4.4.3 \
+
+
+all: $(EXTRAS) $(XLATE) $(EXTERNS)
+
+objects/translations:
+ mkdir -p objects/translations
+
+$(XLATE): objects/translations
+
+objects/showUrl.sh: showUrl.sh
+ $(COPY) $< $@
+
+objects/qt.conf: qt.conf
+ $(COPY) $< $@
+objects/gpsbabelfe: gpsbabelfe
+ $(COPY) $< $@
+
+objects/translations/gpsbabel_de.ts: gpsbabel_de.ts
+ $(COPY) $< $@
+objects/translations/gpsbabel_fr.ts: gpsbabel_fr.ts
+ $(COPY) $< $@
+objects/translations/gpsbabel_es.ts: gpsbabel_es.ts
+ $(COPY) $< $@
+objects/translations/gpsbabel_hu.ts: gpsbabel_hu.ts
+ $(COPY) $< $@
+objects/translations/gpsbabel_it.ts: gpsbabel_it.ts
+ $(COPY) $< $@
+objects/translations/gpsbabelfe_de.ts: gpsbabelfe_de.ts
+ $(COPY) $< $@
+objects/translations/gpsbabelfe_fr.ts: gpsbabelfe_fr.ts
+ $(COPY) $< $@
+objects/translations/gpsbabelfe_es.ts: gpsbabelfe_es.ts
+ $(COPY) $< $@
+objects/translations/gpsbabelfe_hu.ts: gpsbabelfe_hu.ts
+ $(COPY) $< $@
+objects/translations/gpsbabelfe_it.ts: gpsbabelfe_it.ts
+ $(COPY) $< $@
+
+$(EXTERNS):
+ (cd externs; tar cf - .) | (cd objects; tar xvf -)
+
+%.qm: %.ts
+ lrelease $< -qm $@
+
+clean:
+ rm -f $(EXTRAS)
+
--- /dev/null
+// -*- C++ -*-
+// $Id: map.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#include <QNetworkRequest>
+#include <QMessageBox>
+#include <QNetworkAccessManager>
+#include <QWebFrame>
+#include <QWebPage>
+#include <QApplication>
+#include <QCursor>
+#include <QFile>
+
+#include <math.h>
+#include "map.h"
+#include "appname.h"
+#include "dpencode.h"
+
+//------------------------------------------------------------------------
+static QString stripDoubleQuotes(const QString s) {
+ QString out;
+ foreach (QChar c, s) {
+ if (c != QChar('"'))
+ out += c;
+ }
+ return out;
+}
+
+//------------------------------------------------------------------------
+Map::Map(QWidget *parent,
+ const Gpx &gpx, QPlainTextEdit *te):
+ QWebView(parent),
+ gpx(gpx),
+ mapPresent(false),
+ busyCursor(false),
+ te(te)
+{
+ busyCursor = true;
+ stopWatch.start();
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ manager = new QNetworkAccessManager(this);
+ connect(this,SIGNAL(loadFinished(bool)),
+ this,SLOT(loadFinishedX(bool)));
+ this->logTimeX("Start map constuctor");
+ QString baseFile = QApplication::applicationDirPath() + "/gmapbase.html";
+ if (!QFile(baseFile).exists()) {
+ QMessageBox::critical(0, appName,
+ tr("Missing \"gmapbase.html\" file. Check installation"));
+ }
+ else {
+ QString urlStr = "file:///" + baseFile;
+ load(QUrl(urlStr));
+ }
+}
+
+//------------------------------------------------------------------------
+Map::~Map()
+{
+ if (busyCursor)
+ QApplication::restoreOverrideCursor();
+}
+//------------------------------------------------------------------------
+void Map::loadFinishedX(bool f)
+{
+ this->logTimeX("Done initial page load");
+ if (!f)
+ QMessageBox::critical(0, appName,
+ tr("Failed to load Google maps base page"));
+ else {
+ QApplication::processEvents();
+ showGpxData();
+ }
+ QApplication::restoreOverrideCursor();
+ busyCursor = false;
+}
+
+//------------------------------------------------------------------------
+
+static QStringList makeLiteralVar(const QString &name, const string &s)
+{
+ QStringList out;
+ out << QString("var %1 = ").arg(name);
+
+ QString ws = "\"";
+ for (unsigned int i=0; i<s.length(); i++) {
+ if (s[i] =='\\') {
+ ws += s[i];
+ }
+ ws += s[i];
+ if (ws.length() > 5120) {
+ ws += "\" + ";
+ out << ws;
+ ws = "\"";
+ }
+ }
+ ws += "\";";
+ out << ws;
+ return out;
+}
+
+//------------------------------------------------------------------------
+static QString fmtLatLng(const LatLng &l) {
+ return QString("%1, %3").arg(l.lat(), 0, 'f', 5) .arg(l.lng(), 0, 'f', 5);
+}
+
+//------------------------------------------------------------------------
+void Map::showGpxData()
+{
+ MarkerClicker *mclicker = new MarkerClicker(this);
+ this->page()->mainFrame()->addToJavaScriptWindowObject("mclicker", mclicker);
+ connect(mclicker, SIGNAL(markerClicked(int, int )), this, SLOT(markerClicked(int, int)));
+ connect(mclicker, SIGNAL(logTime(const QString &)), this, SLOT(logTimeX(const QString &)));
+
+ // It is appreciably faster to do the encoding on the C++ side.
+ int numLevels = 18;
+ double zoomFactor = 2;
+ PolylineEncoder encoder(numLevels, zoomFactor, 0.00001);
+
+
+ this->logTimeX("Start defining JS string");
+ QStringList scriptStr;
+ scriptStr
+ << "mclicker.logTime(\"Start JS execution\");"
+ << "var map = new GMap2(document.getElementById(\"map\"));"
+ << "var bounds = new GLatLngBounds;"
+ << "var waypts = [];"
+ << "var rtes = [];"
+ << "var trks = [];"
+ << "map.enableScrollWheelZoom();"
+ << "map.enableContinuousZoom();"
+ << "map.addControl(new GLargeMapControl());"
+ << "map.addControl(new GScaleControl());"
+ << "map.addControl(new GMapTypeControl());"
+ << "var pn = map.getPane(G_MAP_MARKER_PANE);"
+ << "pn.style.KhtmlUserSelect='none';"
+ << "pn.style.KhtmlUserDrag='none';"
+ << "mclicker.logTime(\"Done prelim JS definition\");"
+ << QString("var zoomFactor = %1;").arg(zoomFactor)
+ << QString("var numLevels = %1;").arg(numLevels)
+ ;
+
+ mapPresent = true;
+
+ // Waypoints.
+ int num=0;
+ foreach (const GpxWaypoint &pt, gpx.getWaypoints() ) {
+ scriptStr
+ << QString("waypts[%1] = new GMarker(new GLatLng(%2), "
+ "{title:\"%3\",icon:blueIcon});")
+ .arg(num)
+ .arg(fmtLatLng(pt.getLocation()))
+ .arg(stripDoubleQuotes(pt.getName()));
+ num++;
+ }
+
+ scriptStr
+ << "for( var i=0; i<waypts.length; ++i ) {"
+ << " bounds.extend(waypts[i].getPoint());"
+ << " var ftemp = new MarkerHandler(0, i);"
+ << " GEvent.bind(waypts[i], \"click\", ftemp, ftemp.clicked);"
+ << " map.addOverlay(waypts[i]);"
+ << "}"
+ << "mclicker.logTime(\"Done waypoints definition\");"
+ ;
+
+ // Tracks
+ num = 0;
+ foreach (const GpxTrack &trk, gpx.getTracks()) {
+ vector <LatLng> epts;
+ foreach (const GpxTrackSegment seg, trk.getTrackSegments()) {
+ foreach (const GpxTrackPoint pt, seg.getTrackPoints()) {
+ epts.push_back(pt.getLocation());
+ }
+ }
+ string encPts, encLevels;
+ encoder.dpEncode(encPts, encLevels, epts);
+
+ scriptStr
+ << QString("var startPt = new GLatLng(%1);").arg(fmtLatLng(epts[0]))
+ << QString("var endPt = new GLatLng(%1);").arg(fmtLatLng(epts[epts.size()-1]))
+ << QString("var idx = %1;").arg(num)
+ << QString("var nm = \"%1\";").arg(stripDoubleQuotes(trk.getName()))
+ << makeLiteralVar("encpts", encPts)
+ << makeLiteralVar("enclvs", encLevels)
+
+ << "var trk = GPolyline.fromEncoded({color:\"#0000E0\", weight:2, opacity:0.6,"
+ << "points:encpts, zoomFactor:zoomFactor, levels:enclvs, numLevels:numLevels});"
+ << "trks[idx] = new RTPolyline(trk, startPt, endPt, new MarkerHandler(1, idx));"
+ ;
+ num++;
+ }
+
+ scriptStr
+ << "for( var i=0; i<trks.length; ++i ) {"
+ << " var trkbound = trks[i].getBounds();"
+ << " bounds.extend(trkbound.getSouthWest());"
+ << " bounds.extend(trkbound.getNorthEast());"
+ << "}"
+ << "mclicker.logTime(\"Done track definition\");"
+ ;
+
+ // Routes
+ num = 0;
+ foreach (const GpxRoute &rte, gpx.getRoutes()) {
+ vector <LatLng> epts;
+ foreach (const GpxRoutePoint &pt, rte.getRoutePoints()) {
+ epts.push_back(pt.getLocation());
+ }
+ string encPts, encLevels;
+ encoder.dpEncode(encPts, encLevels, epts);
+ scriptStr
+ << QString("var startPt = new GLatLng(%1);").arg(fmtLatLng(epts[0]))
+ << QString("var endPt = new GLatLng(%1);").arg(fmtLatLng(epts[epts.size()-1]))
+ << QString("var idx = %1;").arg(num)
+ << QString("var nm = \"%1\";").arg(stripDoubleQuotes(rte.getName()))
+ << makeLiteralVar("encpts", encPts)
+ << makeLiteralVar("enclvs", encLevels)
+ << "var rte = GPolyline.fromEncoded({color:\"#8000B0\", weight:2, opacity:0.6,"
+ << " points:encpts, zoomFactor:zoomFactor, levels:enclvs, numLevels:numLevels});"
+ << "rtes[idx] = new RTPolyline(rte, startPt, endPt, new MarkerHandler(2, idx));"
+ ;
+ num++;
+ }
+
+ scriptStr
+ << "for( var i=0; i<rtes.length; ++i ) {"
+ << " var rtebound = rtes[i].getBounds();"
+ << " bounds.extend(rtebound.getSouthWest());"
+ << " bounds.extend(rtebound.getNorthEast());"
+ << "}"
+ << "mclicker.logTime(\"Done route definition\");"
+ ;
+
+ scriptStr
+ << "map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));"
+ << "mclicker.logTime(\"done setCenter\");"
+ ;
+
+ this->logTimeX("Done defining JS string");
+ evaluateJS(scriptStr);
+ this->logTimeX("Done JS evaluation");
+}
+
+//------------------------------------------------------------------------
+void Map::markerClicked(int t, int i){
+ if (t == 0)
+ emit waypointClicked(i);
+ else if (t == 1)
+ emit trackClicked(i);
+ else if (t == 2)
+ emit routeClicked(i);
+
+}
+
+//------------------------------------------------------------------------
+void Map::logTimeX(const QString &s)
+{
+ // fprintf(stderr, "Log: %s: %d ms\n", s.toStdString().c_str(), stopWatch.elapsed());
+ if (te) {
+ te->appendPlainText(QString("%1: %2 ms").arg(s).arg(stopWatch.elapsed()));
+ }
+ stopWatch.start();
+}
+//------------------------------------------------------------------------
+void Map::showTracks(const QList<GpxTrack> &tracks)
+{
+ QStringList scriptStr;
+ int i=0;
+ foreach(const GpxTrack &trk, tracks) {
+ scriptStr << QString("trks[%1].%2();").arg(i).arg(trk.getVisible()?"show":"hide");
+ i++;
+ }
+ evaluateJS(scriptStr);
+}
+
+//------------------------------------------------------------------------
+void Map::hideAllTracks()
+{
+ QStringList scriptStr;
+ scriptStr
+ << "for( var i=0; i<trks.length; ++i ) {"
+ << " trks[i].hide();"
+ << "}"
+ ;
+ evaluateJS(scriptStr);
+}
+
+//------------------------------------------------------------------------
+void Map::showWaypoints(const QList<GpxWaypoint> &waypoints)
+{
+ QStringList scriptStr;
+ int i=0;
+ foreach(const GpxWaypoint &pt, waypoints) {
+ scriptStr << QString("waypts[%1].%2();").arg(i++).arg(pt.getVisible()?"show":"hide");
+ }
+ evaluateJS(scriptStr);
+}
+//------------------------------------------------------------------------
+void Map::hideAllWaypoints()
+{
+ QStringList scriptStr;
+ scriptStr
+ << "for( var i=0; i<waypts.length; ++i ) {"
+ << " waypts[i].hide();"
+ << "}"
+ ;
+ evaluateJS(scriptStr);
+}
+
+//------------------------------------------------------------------------
+void Map::showRoutes(const QList<GpxRoute> &routes)
+{
+ QStringList scriptStr;
+ int i=0;
+ foreach(const GpxRoute &rt, routes) {
+ scriptStr << QString("rtes[%1].%2();").arg(i).arg(rt.getVisible()?"show":"hide");
+ i++;
+ }
+ evaluateJS(scriptStr);
+}
+//------------------------------------------------------------------------
+void Map::hideAllRoutes()
+{
+ QStringList scriptStr;
+ scriptStr
+ << "for( var i=0; i<rtes.length; ++i ) {"
+ << " rtes[i].hide();"
+ << "}"
+ ;
+ evaluateJS(scriptStr);
+}
+//------------------------------------------------------------------------
+void Map::setWaypointVisibility(int i, bool show)
+{
+ evaluateJS(QString("waypts[%1].%2();\n")
+ .arg(i).arg(show?"show": "hide"));
+}
+
+//------------------------------------------------------------------------
+void Map::setTrackVisibility(int i, bool show)
+{
+ QString x = show?"show": "hide";
+ QStringList scriptStr;
+ scriptStr
+ << QString("trks[%1].%2();").arg(i).arg(x)
+ ;
+ evaluateJS(scriptStr);
+}
+
+//------------------------------------------------------------------------
+void Map::setRouteVisibility(int i, bool show)
+{
+ QString x = show?"show": "hide";
+ QStringList scriptStr;
+ scriptStr
+ << QString("rtes[%1].%2();").arg(i).arg(x)
+ ;
+ evaluateJS(scriptStr);
+}
+
+//------------------------------------------------------------------------
+void Map::panTo(const LatLng &loc)
+{
+ evaluateJS(QString("map.panTo(new GLatLng(%1));").arg(fmtLatLng(loc)));
+}
+
+//------------------------------------------------------------------------
+void Map::resizeEvent ( QResizeEvent * ev)
+{
+ QWebView::resizeEvent(ev);
+ if (mapPresent)
+ evaluateJS(QString("map.checkResize();"));
+}
+
+//------------------------------------------------------------------------
+void Map::setWaypointColorRed(int i)
+{
+ evaluateJS(QString("waypts[%1].setImage(redIcon.image)").arg(i));
+}
+
+//------------------------------------------------------------------------
+void Map::setWaypointColorBlue(int i)
+{
+ evaluateJS(QString("waypts[%1].setImage(blueIcon.image)").arg(i));
+}
+
+//------------------------------------------------------------------------
+void Map::frameTrack(int i)
+{
+ QStringList scriptStr;
+ scriptStr
+ << QString("var trkbound = trks[%1].getBounds();").arg(i)
+ << "map.setCenter(trkbound.getCenter(), map.getBoundsZoomLevel(trkbound));"
+ ;
+ evaluateJS(scriptStr);
+}
+
+
+//------------------------------------------------------------------------
+void Map::frameRoute(int i)
+{
+ QStringList scriptStr;
+ scriptStr
+ << QString("var rtebound = rtes[%1].getBounds();").arg(i)
+ << "map.setCenter(rtebound.getCenter(), map.getBoundsZoomLevel(rtebound));"
+ ;
+ evaluateJS(scriptStr);
+}
+
+
+//------------------------------------------------------------------------
+void Map::evaluateJS(const QString &s, bool upd)
+{
+ this->page()->mainFrame()->evaluateJavaScript(s);
+ if (upd) {
+ this->update();
+ }
+}
+
+//------------------------------------------------------------------------
+void Map::evaluateJS(const QStringList &s, bool upd)
+{
+ evaluateJS(s.join("\n"), upd);
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: map.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef MAP_H
+#define MAP_H
+
+#include <QWebView>
+#include <QPlainTextEdit>
+#include <QTime>
+#include "gpx.h"
+
+class QNetworkAccessManager;
+
+
+class MarkerClicker: public QObject {
+Q_OBJECT
+
+public:
+ MarkerClicker(QObject *parent): QObject(parent) {};
+
+public slots:
+ void clickedX(int t, int i) {
+ emit markerClicked(t, i);
+ }
+
+signals:
+ void markerClicked(int t, int i);
+ void logTime(const QString &s);
+};
+
+
+
+class Map : public QWebView
+{
+ Q_OBJECT
+ public:
+ Map(QWidget *parent,
+ const Gpx &gpx, QPlainTextEdit *te);
+ ~Map();
+
+ public slots:
+ void showGpxData();
+
+ void showTracks(const QList<GpxTrack> &tracks);
+ void hideAllTracks();
+ void setTrackVisibility(int i, bool show);
+
+ void showWaypoints(const QList<GpxWaypoint> &waypoints);
+ void hideAllWaypoints();
+ void setWaypointVisibility(int i, bool show);
+
+ void showRoutes(const QList<GpxRoute> &routes);
+ void hideAllRoutes();
+ void setRouteVisibility(int i, bool show);
+
+ void loadFinishedX(bool);
+ void markerClicked(int t, int i);
+ void panTo(const LatLng &loc);
+ void setWaypointColorRed(int i);
+ void setWaypointColorBlue(int i);
+ void frameTrack(int i);
+ void frameRoute(int i);
+
+ void logTimeX(const QString &);
+
+ signals:
+ void waypointClicked(int i);
+ void trackClicked(int i);
+ void routeClicked(int i);
+
+ private:
+ QNetworkAccessManager *manager;
+ const Gpx &gpx;
+ bool mapPresent;
+ bool busyCursor;
+ QTime stopWatch;
+ QPlainTextEdit *te;
+
+ void evaluateJS(const QString &s, bool update = true);
+ void evaluateJS(const QStringList &s, bool update = true);
+
+
+protected:
+ virtual void resizeEvent ( QResizeEvent * event );
+
+};
+
+
+#endif // HEADER_H
--- /dev/null
+<ui version="4.0" >
+ <class>MiscFltWidget</class>
+ <widget class="QWidget" name="MiscFltWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>271</width>
+ <height>95</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="font" >
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text" >
+ <string>Misc. Filters</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QCheckBox" name="transformCheck" >
+ <property name="toolTip" >
+ <string>Convert routes, waypoints and tracks to different types.</string>
+ </property>
+ <property name="whatsThis" >
+ <string>This filter can be used to convert GPS data between different data types.
+
+Some GPS data formats support only some subset of waypoints, tracks, and routes. The transform filter allows you to convert between these types. For example, it can be used to convert a pile of waypoints (such as those from a CSV file) into a track or vice versa. </string>
+ </property>
+ <property name="text" >
+ <string>Transform</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="transformCombo" >
+ <property name="toolTip" >
+ <string>Type of transformation. </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="deleteCheck" >
+ <property name="toolTip" >
+ <string>Delete original data after transform to prevent duplicated data. </string>
+ </property>
+ <property name="text" >
+ <string>Delete</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="swapCheck" >
+ <property name="toolTip" >
+ <string>Swap Longitude and Latitudes for badly formatted data formats.</string>
+ </property>
+ <property name="whatsThis" >
+ <string>Simple filter to swap the coordinate values (latitude and longitude) of all points. This can be helpful for wrong defined/coded data. Or if you think, you can use one of our xcsv formats, but latitude and longitude are in opposite order. </string>
+ </property>
+ <property name="text" >
+ <string>Swap Coordinates</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>1</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+// -*- C++ -*-
+// $Id: optionsdlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#include <QVBoxLayout>
+#include <QDoubleValidator>
+#include <QIntValidator>
+#include <QPushButton>
+#include <QFileDialog>
+#include <QIcon>
+#include <QSpinBox>
+#include "optionsdlg.h"
+#include "help.h"
+
+//------------------------------------------------------------------------
+static void SetSizeStuff(QWidget *w)
+{
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ sizePolicy.setHeightForWidth(w->sizePolicy().hasHeightForWidth());
+ w->setSizePolicy(sizePolicy);
+}
+
+//------------------------------------------------------------------------
+FileDlgManager::FileDlgManager(QObject*parent,
+ QLineEdit *le,
+ QToolButton *tb, bool isInFile):
+ QObject(parent), le(le), tb(tb), isInFile(isInFile)
+{
+ connect(tb, SIGNAL(clicked()), this, SLOT(buttonClicked()));
+}
+
+//------------------------------------------------------------------------
+QVariant getOptionValue(QList<FormatOption> opts, int k) {
+ if (opts[k].getValue().toString() != "")
+ return opts[k].getValue();
+ else
+ return opts[k].getDefaultValue();
+}
+
+//------------------------------------------------------------------------
+FileDlgManager::~FileDlgManager()
+{
+}
+//------------------------------------------------------------------------
+void FileDlgManager::buttonClicked()
+{
+ QString str;
+ if (isInFile) {
+ str = QFileDialog::getOpenFileName(0, tr("Select input file"),
+ le->text(),
+ "All Files (*.*)");
+ }
+ else {
+ str = QFileDialog::getSaveFileName(0, tr("Select output file"),
+ le->text(),
+ "All Files (*.*)");
+ }
+ if (str != "")
+ le->setText(str);
+}
+
+//------------------------------------------------------------------------
+OptionsDlg::OptionsDlg(QWidget*parent, const QString &fmtName, QList<FormatOption> *opts):
+ QDialog(parent),
+ fmtName(fmtName),
+ options(*opts)
+{
+
+ QVBoxLayout *verticalLayout = new QVBoxLayout(this);
+ for (int k=0; k<options.size(); k++) {
+ QHBoxLayout *horizontalLayout = new QHBoxLayout();
+
+ QCheckBox *checkBox = new QCheckBox(this);
+ checkBox->setText(tr(options[k].getDescription().toAscii().data()));
+ horizontalLayout->addWidget(checkBox);
+ checkBox->setChecked(options[k].getSelected());
+
+ QSpacerItem *horizontalSpacer = new QSpacerItem(0, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ horizontalLayout->addItem(horizontalSpacer);
+
+ QWidget *w = 0;
+ switch (options[k].getType())
+ {
+ case FormatOption::OPTstring:
+ {
+ QLineEdit *lineEdit = new QLineEdit(this);
+ SetSizeStuff(lineEdit);
+ lineEdit->setText(getOptionValue(options, k).toString());
+ w = lineEdit;
+ horizontalLayout->addWidget(lineEdit);
+ }
+ break;
+
+ case FormatOption::OPTinFile:
+ case FormatOption::OPToutFile:
+ {
+ bool inFile = options[k].getType() == FormatOption::OPTinFile;
+ QLineEdit *lineEdit = new QLineEdit(this);
+ QToolButton *button = new QToolButton(this);
+ lineEdit->setText(getOptionValue(options, k).toString());
+ button->setIcon(QIcon(inFile ? ":images/file.png" : ":images/save.png" ));
+ w = lineEdit;
+ horizontalSpacer->changeSize(5, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
+ horizontalLayout->addWidget(lineEdit);
+ horizontalLayout->addWidget(button);
+ (void) new FileDlgManager(this, lineEdit, button, inFile);
+ }
+ break;
+
+ case FormatOption::OPTbool:
+ w = 0;
+ break;
+
+ case FormatOption::OPTfloat:
+ {
+ QLineEdit *lineEdit = new QLineEdit(this);
+ SetSizeStuff(lineEdit);
+ lineEdit->setText(getOptionValue(options, k).toString());
+ w = lineEdit;
+ QDoubleValidator *v = new QDoubleValidator(this);
+ v->setRange(options[k].getMinValue().toDouble(),
+ options[k].getMaxValue().toDouble());
+ lineEdit->setValidator(v);
+ horizontalLayout->addWidget(lineEdit);
+ }
+ break;
+
+ case FormatOption::OPTint:
+ {
+ QLineEdit *lineEdit = new QLineEdit(this);
+ SetSizeStuff(lineEdit);
+ w = lineEdit;
+ QIntValidator *iv = new QIntValidator(this);
+ iv->setRange(options[k].getMinValue().toInt(),
+ options[k].getMaxValue().toInt());
+ lineEdit->setValidator(iv);
+ lineEdit->setText(getOptionValue(options, k).toString());
+ horizontalLayout->addWidget(lineEdit);
+ }
+ break;
+
+ case FormatOption::OPTboundedInt:
+ {
+ QSpinBox *spinBox = new QSpinBox(this);
+ spinBox->setRange(options[k].getMinValue().toInt(),
+ options[k].getMaxValue().toInt());
+ spinBox->setValue(getOptionValue(options, k).toInt());
+ SetSizeStuff(spinBox);
+ w = spinBox;
+ horizontalLayout->addWidget(spinBox);
+ }
+ break;
+ }
+ checkBoxes.push_back(checkBox);
+ fields.push_back(w);
+
+ verticalLayout->addLayout(horizontalLayout);
+ }
+ QPushButton *helpButton = new QPushButton(this);
+ helpButton->setIcon(QIcon(":/images/help.png"));
+ helpButton->setText(tr("Help"));
+
+ QHBoxLayout *lay = new QHBoxLayout();
+ lay->addWidget(helpButton);
+
+ buttonBox = new QDialogButtonBox(this);
+ buttonBox->setOrientation(Qt::Horizontal);
+ buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
+ lay->addWidget(buttonBox);
+ verticalLayout->addLayout(lay);
+ buttonBox->button(QDialogButtonBox::Ok)->setIcon(QIcon(":images/ok"));
+ buttonBox->button(QDialogButtonBox::Cancel)->setIcon(QIcon(":images/cancel"));
+
+ connect(buttonBox, SIGNAL(accepted()), this, SLOT(acceptClicked()));
+ connect(buttonBox, SIGNAL(rejected()), this, SLOT(rejectClicked()));
+ connect(helpButton, SIGNAL(clicked()), this, SLOT(helpClicked()));
+}
+
+//------------------------------------------------------------------------
+void OptionsDlg::acceptClicked()
+{
+ for (int k=0; k<options.size(); k++) {
+ options[k].setSelected(checkBoxes[k]->isChecked());
+ if (fields[k]) {
+ if (options[k].getType() == FormatOption::OPTboundedInt) {
+ int value = static_cast<QSpinBox*>(fields[k])->value();
+ value = qMax(qMin(value, options[k].getMaxValue().toInt()),options[k].getMinValue().toInt());
+ options[k].setValue(QVariant(value));
+ }
+ else if (options[k].getType() == FormatOption::OPTint) {
+ int value = static_cast<QLineEdit*>(fields[k])->text().toInt();
+ value = qMax(qMin(value, options[k].getMaxValue().toInt()),options[k].getMinValue().toInt());
+ options[k].setValue(QVariant(value));
+ }
+ else if (options[k].getType() == FormatOption::OPTfloat) {
+ double value = static_cast<QLineEdit*>(fields[k])->text().toDouble();
+ value = qMax(qMin(value, options[k].getMaxValue().toDouble()),options[k].getMinValue().toDouble());
+ options[k].setValue(QVariant(value));
+ }
+ else
+ options[k].setValue(static_cast<QLineEdit*>(fields[k])->text());
+ }
+ }
+ accept();
+}
+
+//------------------------------------------------------------------------
+void OptionsDlg::rejectClicked()
+{
+ reject();
+}
+
+//------------------------------------------------------------------------
+void OptionsDlg::helpClicked()
+{
+ QString str = QString("gpsbabel.html") + "#fmt_" + fmtName;
+ ShowHelp(str.toStdString().c_str());
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: optionsdlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#ifndef OPTIONSDLG_H
+#define OPTIONSDLG_H
+
+#include <QDialog>
+#include <QDialogButtonBox>
+#include <QCheckBox>
+#include <QLineEdit>
+#include <QToolButton>
+
+#include "format.h"
+
+class FileDlgManager: public QObject
+{
+Q_OBJECT
+public:
+ FileDlgManager(QObject*parent,
+ QLineEdit *le,
+ QToolButton *tb, bool isInFile);
+
+ ~FileDlgManager();
+
+private:
+ QLineEdit *le;
+ QToolButton *tb;
+ bool isInFile;
+
+private slots:
+ void buttonClicked();
+
+};
+
+class OptionsDlg: public QDialog {
+Q_OBJECT
+ public:
+ OptionsDlg(QWidget *parent, const QString &fmtName, QList<FormatOption> *options);
+
+ private:
+ QString fmtName;
+ QList<FormatOption> &options;
+ QDialogButtonBox *buttonBox;
+ QList<QCheckBox*> checkBoxes;
+ QList<QWidget*> fields;
+
+ private slots:
+ void acceptClicked();
+ void rejectClicked();
+ void helpClicked();
+
+};
+
+
+#endif
--- /dev/null
+// -*- C++ -*-
+// $Id: persistdlg.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+
+#include "persistdlg.h"
+#include <QApplication>
+#include <QCloseEvent>
+
+
+PersistentDialog::PersistentDialog(QWidget *parent):
+ QWidget(parent, Qt::Dialog)
+{
+ returnValue = 0;
+ setWindowModality(Qt::WindowModal);
+}
+
+PersistentDialog::~PersistentDialog()
+{
+}
+
+
+void PersistentDialog::accept()
+{
+ returnValue = 1;
+ eventLoop->exit(1);
+}
+
+void PersistentDialog::reject()
+{
+ returnValue = 0;
+ eventLoop->exit();
+}
+
+int PersistentDialog::exec()
+{
+ returnValue = 0;
+ show();
+
+ QEventLoop evl;
+ eventLoop = &evl;
+ (void) eventLoop->exec();
+ hide();
+ return returnValue;
+}
+
+void PersistentDialog::closeEvent(QCloseEvent*)
+{
+ //eventLoop->exit();
+ reject();
+}
--- /dev/null
+// -*- C++ -*-
+// $Id: persistdlg.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+//
+// A dialog that will prevent the escape key from closing it. Also no
+// default buttons, and "ENTER" key actions. Needed so that you won't
+// lose all the edited data --- The regular Qt QDialog has no way of
+// bypassing ESC key.
+//
+#ifndef PERSISTDLG_H
+#define PERSISTDLG_H
+
+#include <QWidget>
+#include <QEventLoop>
+
+class PersistentDialog: public QWidget
+{
+Q_OBJECT
+ public:
+ PersistentDialog(QWidget *parent = 0);
+ ~PersistentDialog();
+ int exec();
+
+protected:
+ void closeEvent(QCloseEvent*ev);
+
+protected slots:
+ void accept();
+ void reject();
+
+private:
+ int returnValue;
+ QEventLoop *eventLoop;
+};
+
+
+
+#endif
+
--- /dev/null
+// -*- c++ -*-
+// $Id: processwait.cpp,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#include <QProcess>
+#include <QStringList>
+#include <QPlainTextEdit>
+#include <QDialogButtonBox>
+#include <QVBoxLayout>
+#include <QDialog>
+#include <QProgressBar>
+#include <QPushButton>
+#include <QTimer>
+#include "processwait.h"
+#include "appname.h"
+
+
+//------------------------------------------------------------------------
+
+QString ProcessWaitDialog::processErrorString( QProcess::ProcessError err)
+{
+ switch (err)
+ {
+ case QProcess::FailedToStart:
+ return QString(tr("Process failed to start"));
+ break;
+ case QProcess::Crashed:
+ return QString(tr("Process crashed"));
+ break;
+ case QProcess::Timedout:
+ return QString(tr("Process timedout"));
+ break;
+ case QProcess::WriteError:
+ return QString(tr("Error while trying to write to process"));
+ break;
+ case QProcess::ReadError:
+ return QString(tr("Error while trying to read from process"));
+ break;
+ case QProcess::UnknownError:
+ default:
+ return QString(tr("Unknown process error"));
+ }
+ return QString("");
+}
+//------------------------------------------------------------------------
+ProcessWaitDialog::ProcessWaitDialog(QWidget *parent, QProcess *process):
+ QDialog(parent), process(process)
+{
+ this->resize(400, 220);
+ this->setWindowTitle(QString(appName) + tr(" ... Process GpsBabel"));
+ QVBoxLayout *layout = new QVBoxLayout(this);
+
+ textEdit = new QPlainTextEdit(this);
+ textEdit->setReadOnly(true);
+ layout->addWidget(textEdit);
+
+ progressBar = new QProgressBar(this);
+ progressBar->setTextVisible(false);
+ layout->addWidget(progressBar);
+
+ buttonBox = new QDialogButtonBox(this);
+ buttonBox->setOrientation(Qt::Horizontal);
+ buttonBox->setStandardButtons(QDialogButtonBox::Abort);
+ QPushButton* btn = buttonBox->button(QDialogButtonBox::Abort);
+ btn->setText(tr("Stop Process"));
+ layout->addWidget(buttonBox);
+
+ connect(process, SIGNAL(error(QProcess::ProcessError)),
+ this, SLOT (errorX(QProcess::ProcessError)));
+ connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ this, SLOT (finishedX(int, QProcess::ExitStatus)));
+ connect(process, SIGNAL(readyReadStandardError()),
+ this, SLOT (readyReadStandardErrorX()));
+ connect(process, SIGNAL(readyReadStandardOutput()),
+ this, SLOT (readyReadStandardOutputX()));
+ connect(btn, SIGNAL(clicked()),
+ this, SLOT (stopClickedX()));
+ estatus = QProcess::CrashExit; // Assume all errors are crashes for now.
+
+ bufferedOut = "";
+
+ //
+ for (int i=0; i<=100; i+=2)
+ progressVals.push_back(i);
+ for (int i=98; i>0; i-=2)
+ progressVals.push_back(i);
+ progressIndex = progressVals.size()/2;
+
+ timer = new QTimer(this);
+ timer->setInterval(100);
+ timer->setSingleShot(false);
+ connect(timer, SIGNAL(timeout()), this, SLOT(timeoutX()));
+ stopCount = -1;
+ timer->start();
+ errorString = "";
+
+}
+
+//------------------------------------------------------------------------
+ProcessWaitDialog::~ProcessWaitDialog()
+{
+};
+//------------------------------------------------------------------------
+bool ProcessWaitDialog::getExitedNormally()
+{
+ return (errorString.length() == 0);
+};
+
+//------------------------------------------------------------------------
+QString ProcessWaitDialog::getErrorString()
+{
+ return errorString;
+};
+
+//------------------------------------------------------------------------
+int ProcessWaitDialog::getExitCode()
+{
+ return ecode;
+};
+
+//------------------------------------------------------------------------
+void ProcessWaitDialog::stopClickedX()
+{
+ process->terminate();
+};
+//------------------------------------------------------------------------
+void ProcessWaitDialog::timeoutX()
+{
+ progressIndex++;
+ int idx = progressIndex % progressVals.size();
+ progressBar->setValue(progressVals[idx]);
+ if (stopCount >=0)
+ stopCount++;
+ if (stopCount > 150) {
+ process->kill();
+ errorString = QString(tr("Process did not terminate successfully"));
+ timer->stop();
+ accept();
+ }
+};
+
+//------------------------------------------------------------------------
+void ProcessWaitDialog::errorX(QProcess::ProcessError err)
+{
+ errorString = processErrorString(err);
+ timer->stop();
+ accept();
+};
+
+//------------------------------------------------------------------------
+void ProcessWaitDialog::finishedX(int exitCode, QProcess::ExitStatus es)
+{
+ ecode = exitCode;
+ if (es == QProcess::CrashExit)
+ errorString = QString(tr("Process crashed whle running"));
+ timer->stop();
+ accept();
+};
+
+
+//------------------------------------------------------------------------
+// appendPlainText automatically puts in a new line with every call. That's
+// why you have to buffer it, and only append when we get a real newline.
+//
+void ProcessWaitDialog::appendToText(const char *ptr)
+{
+ outputString += QString(ptr);
+ for (const char *cptr = ptr; *cptr; cptr++) {
+ if (*cptr == '\r')
+ continue;
+ if (*cptr == '\n') {
+ textEdit->appendPlainText(QString::fromStdString(bufferedOut));
+ bufferedOut = "";
+ continue;
+ }
+ bufferedOut += *cptr;
+ }
+}
+
+
+//------------------------------------------------------------------------
+void ProcessWaitDialog::readyReadStandardErrorX()
+{
+ QByteArray d = process->readAllStandardError();
+ appendToText(d.data());
+};
+
+//------------------------------------------------------------------------
+void ProcessWaitDialog::readyReadStandardOutputX()
+ {
+ QByteArray d = process->readAllStandardOutput();
+ appendToText(d.data());
+};
+
+void ProcessWaitDialog::closeEvent(QCloseEvent *event)
+{
+ event->ignore();
+};
--- /dev/null
+// -*- C++ -*-
+// $Id: processwait.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef PROCESSWAIT_H
+#define PROCESSWAIT_H
+
+
+#include <QProcess>
+#include <QDialog>
+#include <vector>
+#include <string>
+using std::string;
+using std::vector;
+
+class QProgressBar;
+class QPlainTextEdit;
+class QDialogButtonBox;
+class QTimer;
+//------------------------------------------------------------------------
+class ProcessWaitDialog: public QDialog
+{
+
+ Q_OBJECT
+
+ public:
+ //
+ ProcessWaitDialog(QWidget *parent, QProcess *process);
+ ~ProcessWaitDialog();
+
+ bool getExitedNormally();
+ int getExitCode();
+ QString getErrorString();
+ QString getOutputString() const {return outputString;};
+
+ protected:
+ void closeEvent (QCloseEvent*event);
+ void appendToText(const char *);
+ QString processErrorString(QProcess::ProcessError err);
+
+
+ private slots:
+ void errorX(QProcess::ProcessError);
+ void finishedX(int exitCode, QProcess::ExitStatus);
+ void readyReadStandardErrorX();
+ void readyReadStandardOutputX();
+ void timeoutX();
+ void stopClickedX();
+
+ private:
+ vector <int> progressVals;
+ int progressIndex;
+ int stopCount;
+ string bufferedOut;
+ QProcess::ExitStatus estatus;
+ int ecode;
+ QProcess *process;
+ QProgressBar *progressBar;
+ QPlainTextEdit *textEdit;
+ QDialogButtonBox *buttonBox;
+ QTimer *timer;
+ QString errorString;
+ QString outputString;
+};
+
+#endif
--- /dev/null
+[PATH]
+Prefix=
+Documentation=doc
+Libraries=lib
+Binaries=bin
+Plugins=plugins
+Translations=translations
--- /dev/null
+<ui version="4.0" >
+ <class>RtTrkWidget</class>
+ <widget class="QWidget" name="RtTrkWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>269</width>
+ <height>114</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <property name="toolTip" >
+ <string>Simplify routes and tracks by removing points</string>
+ </property>
+ <property name="whatsThis" >
+ <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The quality of the results will vary depending on the density of points in the original route and the length of the original route. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="font" >
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text" >
+ <string>Routes & Tracks</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QCheckBox" name="simplifyCheck" >
+ <property name="toolTip" >
+ <string>Simplify route by removing points</string>
+ </property>
+ <property name="whatsThis" >
+ <string> The Simplify filter is used to simplify routes and tracks for use with formats that limit the number of points they can contain or just to reduce the complexity of a route.
+
+The filter attempts to remove points from each route until the number of points or the error is within the given bounds, while also attempting to preserve the shape of the original route as much as possible.
+
+The quality of the results will vary depending on the density of points in the original route and the length of the original route. </string>
+ </property>
+ <property name="text" >
+ <string>Simplify</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="limitToLabel" >
+ <property name="text" >
+ <string>Limit To</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="limitToSpin" >
+ <property name="toolTip" >
+ <string>Maximum number points in track or route. </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="pointLabel" >
+ <property name="text" >
+ <string>Points</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="reverseCheck" >
+ <property name="toolTip" >
+ <string>Reverse tracks and routes</string>
+ </property>
+ <property name="whatsThis" >
+ <string>The reversal is performed in the laziest way possible. Timestamps are kept with the original waypoints so the resulting track or route will have the interesting characteristic that time runs backwards. This tends to make Magellan Mapsend, in particular, do a wierd thing and place each waypoint on a separate day.
+Additionally, if you're using this to reverse a route that navigates, say, an exit ramp or a one way street, you will be in for unpleasant ride. application cares about timestamps </string>
+ </property>
+ <property name="text" >
+ <string>Reverse</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>19</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+// -*- C++ -*-
+// $Id: setting.h,v 1.1 2009/07/05 21:14:56 robertl Exp $
+//------------------------------------------------------------------------
+//
+// Copyright (C) 2009 S. Khai Mong <khai@mangrai.com>.
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
+// USA
+//
+//------------------------------------------------------------------------
+#ifndef SETTING_H
+#define SETTING_H
+
+#include <QSettings>
+
+
+//------------------------------------------------------------------------
+class VarSetting {
+ public:
+ VarSetting() {};
+ ~VarSetting() {};
+
+ virtual void saveSetting(QSettings &) = 0;
+ virtual void restoreSetting(QSettings &) = 0;
+};
+
+
+//------------------------------------------------------------------------
+class IntSetting: public VarSetting
+{
+ public:
+ IntSetting(const QString &name, int &var): VarSetting(), name(name), var(var) { }
+ void saveSetting(QSettings &st) {st.setValue(name, var); }
+ void restoreSetting(QSettings &st) {if (st.contains(name)) var = st.value(name).toInt(); }
+
+ private:
+ QString name;
+ int &var;
+};
+
+//------------------------------------------------------------------------
+class DoubleSetting: public VarSetting
+{
+ public:
+ DoubleSetting(const QString &name, double &var): VarSetting(), name(name), var(var) { }
+ void saveSetting(QSettings &st) {st.setValue(name, var); }
+ void restoreSetting(QSettings &st) {if (st.contains(name)) var = st.value(name).toDouble(); }
+
+ private:
+ QString name;
+ double &var;
+};
+
+//------------------------------------------------------------------------
+class StringSetting: public VarSetting
+{
+ public:
+ StringSetting(const QString &name, QString &var): VarSetting(), name(name), var(var) { }
+ void saveSetting(QSettings &st) {st.setValue(name, var); }
+ void restoreSetting(QSettings &st) {if (st.contains(name)) var = st.value(name).toString(); }
+
+ private:
+ QString name;
+ QString &var;
+};
+
+//------------------------------------------------------------------------
+class BoolSetting: public VarSetting
+{
+ public:
+ BoolSetting(const QString &name, bool &var): VarSetting(), name(name), var(var) { }
+ void saveSetting(QSettings &st) {st.setValue(name, var); }
+ void restoreSetting(QSettings &st) {if (st.contains(name)) var = st.value(name).toBool(); }
+
+ private:
+ QString name;
+ bool &var;
+};
+
+//------------------------------------------------------------------------
+class DateTimeSetting: public VarSetting
+{
+ public:
+ DateTimeSetting(const QString &name, QDateTime &var):VarSetting(), name(name), var(var) { }
+ void saveSetting(QSettings &st) {st.setValue(name, var); }
+ void restoreSetting(QSettings &st) {if (st.contains(name)) var = st.value(name).toDateTime(); }
+
+ private:
+ QString name;
+ QDateTime &var;
+};
+
+
+//------------------------------------------------------------------------
+class SettingGroup {
+ public:
+ SettingGroup() {}
+ ~SettingGroup() {
+ for (int i=0; i<group.size(); i++)
+ delete group[i];
+ }
+
+ void saveSettings(QSettings &st) {
+ for (int i=0; i<group.size(); i++)
+ group[i]->saveSetting(st);
+ }
+ void restoreSettings(QSettings &st) {
+ for (int i=0; i<group.size(); i++)
+ group[i]->restoreSetting(st);
+ }
+
+ void addVarSetting(VarSetting *vs) {
+ group << vs;
+ }
+
+ private:
+ QList <VarSetting *> group;
+};
+
+#endif
+
+
--- /dev/null
+; Script generated by the Inno Setup Script Wizard.\r
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!\r
+\r
+[Setup]\r
+; NOTE: The value of AppId uniquely identifies this application.\r
+; Do not use the same AppId value in installers for other applications.\r
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)\r
+AppId={{1B8FE958-A304-4902-BF7A-4E2F0F5B7017}\r
+AppName=GPSBabelFE\r
+AppVerName=GPSBabelFE 0.1\r
+AppPublisher=GPSBabel\r
+AppPublisherURL=http://www.gpsbabel.org\r
+AppSupportURL=http://www.gpsbabel.org\r
+AppUpdatesURL=http://www.gpsbabel.org\r
+DefaultDirName={pf}\GPSBabelFE\r
+DefaultGroupName=GPSBabelFE\r
+OutputDir=D:\gpsgui\r
+OutputBaseFilename=setup\r
+SetupIconFile=D:\gpsgui\images\babel2.ico\r
+Compression=lzma\r
+SolidCompression=yes\r
+\r
+[Languages]\r
+Name: "english"; MessagesFile: "compiler:Default.isl"\r
+\r
+[Tasks]\r
+Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked\r
+\r
+[Files]\r
+Source: "D:\gpsgui\release\gpsbabelfe.exe"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\Microsoft.VC80.CRT.manifest"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\msvcm80.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\msvcp80.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\msvcr80.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\QtCore4.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\QtGui4.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\QtWebkit4.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\QtXml4.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\QtNetwork4.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\gmapbase.html"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\libexpat.dll"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\gpsbabel.exe"; DestDir: "{app}"; Flags: ignoreversion\r
+Source: "D:\gpsgui\release\help\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs\r
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files\r
+\r
+[Icons]\r
+Name: "{group}\GPSBabelFE"; Filename: "{app}\gpsbabelfe.exe"\r
+Name: "{commondesktop}\GPSBabelFE"; Filename: "{app}\gpsbabelfe.exe"; Tasks: desktopicon\r
+\r
+[Run]\r
+Filename: "{app}\gpsbabelfe.exe"; Description: "{cm:LaunchProgram,GPSBabelFE}"; Flags: nowait postinstall skipifsilent\r
+\r
--- /dev/null
+#!/bin/sh
+# $Id: showUrl.sh,v 1.1 2009/07/05 21:14:56 robertl Exp $
+
+if [ "$BROWSER" = "" ]; then
+ BROWSER="firefox"
+fi
+$BROWSER $*
+exit $?
+
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Google Maps JavaScript API Example</title>
+ <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAdI0zGVgYqTKHphoxD6Ts7RStrDQCRAqEw3qj75gyDXKipO0rfhSjjCwKU9CeQlegTB_-A2G4yly6wg"
+ type="text/javascript"></script>
+ <script type="text/javascript">
+
+ //<![CDATA[
+
+ function load() {
+ if (GBrowserIsCompatible()) {
+ var map = new GMap2(document.getElementById("map"));
+ map.setCenter( new GLatLng(0,0),1 );
+ map.enableContinuousZoom();
+ map.setMapType(G_HYBRID_MAP);
+ map.disableDragging();
+ }
+ }
+
+ //]]>
+ </script>
+ </head>
+
+ <body style="height:100%" onload="load()" onunload="GUnload()" topmargin="0" leftmargin="0">
+ <div id="map" style="width:100% ; height:100%"></div>
+ </body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Google Maps JavaScript</title>
+ <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAN6d3-kz3XqyJq-W9n7IYzhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxT_28W9HdpKXQF8sGkCU0sQpcudOQ"
+ type="text/javascript"></script>
+ <script type="text/javascript">
+
+myuri="data:image/png;base64,"+
+"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAQK0lEQVR4AQEgEN/vAP///wDg4OAA" +
+"4ODgAODg4ADg4OAA4ODgAODg4ADg4OAA4ODgBNXV1RbPz88A0NDQAN3a1QCBj6MAAB9WAAQnXAAE" +
+"J1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQn" +
+"XAD///8AAP///wCWlpYAlpaWAJaWlgCWlpYAlpaWAJaWlgCUlJQAoqKiPJWVlWR6enoAg4F9AGZv" +
+"fAAMLWAAAiVbAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdc" +
+"AAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBkZGQAZGRkAGRkZABkZGQAZGRkAGRkZABgYGAAh4eH" +
+"p2VlZYNHREAANz9KAAQkWAACJVsABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wA" +
+"BCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cA" +
+"Z2dnAGdnZwBkZGQGj4+P62xqZ3BFTl0AByhaAAElWwAEJ1sABCdcAAQnXAAEJ1wABCdcAAQnXAAE" +
+"J1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBn" +
+"Z2cAZ2dnAGdnZwBnZ2cAZ2dnAGdnZwBpaWkmlJOQ/T5JWUIBIFgSACJbMgImXTYAI1ooACBWCgEi" +
+"VgAEJlsABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdc" +
+"AAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cAZ2dnAGZmZgB0c3JOfIGJ/z1ajdtvibr1eZPD" +
+"/3KPxP9fgrz9Pmqp4xlIh6MDJ142AyNWAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wA" +
+"BCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cAZ2dnAGRkZACAf3x8" +
+"ZXGF/4mgz/+lueH/kanZ/4Oh1v92nNj/aJzf/1Wc6f8vhtn/CT19gwMjVgAEJ1wABCdcAAQnXAAE" +
+"J1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBn" +
+"Z2cAZ2dnAGNjYwCKiISrV2iH/32Yz/99mc//b5DL/2GKzP9Th8//RYfX/ziQ5/8unv//H4bq/wcy" +
+"cGwDJVgABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP//" +
+"/wBnZ2cAZ2dnAGdnZwBnZ2cAZ2dnAGRkZAKOjYrVSGCL/26OzP9hhMT/VH3D/0d5xv85ec3/Kn7a" +
+"/xyK7/8Rivf/GH/w/xtQp9sDI1UIBCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wA" +
+"BCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cAZ2dnAGpqaRyJior1OlmS/1d8w/9Hcbv/" +
+"O228/yppwf8Za83/DXbh/wWF9f8Jf/H/IHHg/yxPqe8DJVgYBCdcAAQnXAAEJ1wABCdcAAQnXAAE" +
+"J1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cAZmZmAHRzckJ8" +
+"gYf/LFKZ/z5puP8oXLP/EFGz/wNUvf8AYtH/AHns/wKE9v8QeOj/MGbT/yM/jMUBJFYABCdcAAQn" +
+"XAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdn" +
+"ZwBnZ2cAZGRkAIB+e2xpc4P/Hkuf/xtQrP8DQqr/AEiz/wBYxf8Abd3/AIL1/wiA8v8ccN//OFu+" +
+"/w4taGICJlkABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8A" +
+"AP///wBnZ2cAZ2dnAGdnZwBnZ2cAY2NjAIyKhZ1NX37/Azqg/wA7pv8ARrL/AFLA/wBi0/8AeOv/" +
+"AoT3/w956v8vaNX/K0aOxQAkVgIEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAE" +
+"J1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cAZGRkAJOQi8kxTX//C0Kl/xRLofkW" +
+"UKTtF1qw7xdvzf0QivP/B4T3/xpw4P88YL//DS9rmwIlWAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQn" +
+"XAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBnZ2cAaGhoEpKR" +
+"j/EgO2bDCC5oVgosXiQGKFoQByhaDgwuYUwWSZb/KnbM/zdy1/8nSZ7/AC6O/wQoYFAEJlkABCdc" +
+"AAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dn" +
+"AGdnZwBmZmYAcHBwNo6Ojf9iZ20uHThiAAAjWgAEJ1wABCZZAAIoaIEAK5T/DTeP/z9gov8FM5T/" +
+"ADyo/wFAm+8EJ1s0BCVZAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD/" +
+"//8AAP///wBnZ2cAZ2dnAGdnZwBkZGQAe3t7ZoSEhfF7encMenp8ABk2YgAAJFsABCdZGAEuhekA" +
+"Mpz/AC+S/wMthf8AOaH/AEev/wBWxP8CT63rBClgRAQiUwAEJ1sABCdcAAQnXAAEJ1wABCdcAAQn" +
+"XAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBjY2MAhYWFnX19fc1+fX0Ae3x9ABMy" +
+"YAABJFkABCllfAAwk/8AMJH/AS+N/wA2nf8ARKz/AFG7/wBezP8Ab+H/AW3V/QNFjaEEJVggAyNV" +
+"AAMmWgAEJ1wABCdcAAQnXAAEJ1wABCdcAAQnXAD///8AAP///wBnZ2cAZ2dnAGdnZwBkZGQAjY2N" +
+"z3h4eJuIhoQAW2Z2AAAjWgAEJ1skAi1+8QEwk/8AMJL/ADWc/wBCqv8AT7j/AFzJ/wBp2P8Aduf/" +
+"AYX5/wmD9/8QZMb1DkGKqQcsZU4CJVgSASRWAAElWAACJVkABCdcAAQnXAD///8AAP///wBnZ2cA" +
+"Z2dnAGdnZwBoaGgMj4+P8XZ2dmSLiYYAOk1sAAAhWAAEKWZqADKa/wAxmP8AM5r/AD+n/wBNtv8A" +
+"Wsb/AGbW/wB05P8AgfP/CIHy/xF56P8bdOT/J2zb/y5dw/8rSaHtHTuGuRMzeI0VNXGBBypeeAMm" +
+"Wyj///8AAP///wBnZ2cAZ2dnAGZmZgBxcXEujIyM/3l5eTaLiYYAS1x0AAAkXwAEKWEcAy+A0wE1" +
+"n/8APaf/AEqz/wBXw/8AZNP/AHHi/wB/8f8GgvT/EXnp/xly4P8katb/LmLM/zhZwf9AWML/S2LJ" +
+"/09mu/8xTorJBildQAMmWwD///8AAP///wBnZ2cAZ2dnAGRkZAB6enpYh4eH+YCAgBSOjYwAbW9y" +
+"AAANIQABDiIAAg0eEAUlXLMJTK//BFzM/wBm2P8AcOP/AHzw/wKC9v8Meu3/FXLj/x9s3P8tZtT/" +
+"QGLK/0xjwf9Tabb9OVSNww4wYkAAI1cAAyZcAAQnXAD///8AAP///wBnZ2cAZ2dnAGNjYwCEhISL" +
+"gICA24aGhgCOjo4ALi4uAAAAAAAAAAAAAAAACgAAAB4FEiRWDzhrsRZapuUXdtX/Fojx/x2H8f8o" +
+"gOb/NHfW/z1uwf1BZK7jOFSRtyJBdXQLLV8qACNXAAImWwAEJ1wABCdcAAQnXAD///8AAP///wBn" +
+"Z2cAZ2dnAGNjYwCMjIy/fHx8rZKSkgBiYmIAAAAAAAAAAAAAAAAYAAAANAAAADIAAAAgAAAAGgEB" +
+"ASoIDBREEBwtYBQiNGgVITJiEBglTAgLECwBDiAKACJVAAAmXQADJ10ABCdbAAQmWgAEKWAABCli" +
+"AAQpYQD///8AAP///wBnZ2cAZ2dnAGdnZwSPj4/nf39/eIyMjAAYGBgAAAAAAAAAABwAAABAAAAA" +
+"QAAAADgAAAA0AAAALAAAACQAAAAaAAAAEgAAAAwAAAAGAAAAAAAAAAAAAAAAAQkUAAEMHgABCRYA" +
+"AQYPAAEFDAABCxsAAhQuAAMbPwD///8AAP///wBnZ2cAZmZmAG9vbyCMjIz9ioqKRExMTAAAAAAA" +
+"AAAAIAAAAD4AAAAyAAAAKAAAACAAAAAaAAAAIgAAACoAAAAmAAAAIgAAABwAAAAWAAAACgAAAAIA" +
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP///wBpaWkAZmZmAHp6ekqM" +
+"jIz9dXV1HAkJCQAAAAAkAAAAPgAAAA4AAAAAAAAAAAAAAAYAAAAcAAAALgAAADAAAAAsAAAAJgAA" +
+"ACAAAAAcAAAAGAAAABIAAAAMAAAACAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP//" +
+"/wBkZGQAZ2dnAIWFhX6IiIjjMjIyAAAAACQAAABEAAAADAAAAAAAAAAAAAAAAAAAAB4AAAA4AAAA" +
+"NgAAADQAAAAuAAAAKgAAACYAAAAgAAAAHAAAABYAAAASAAAADgAAAAoAAAAGAAAAAgAAAAAAAAAA" +
+"AAAAAAAAAAD///8AAP///wAHBwcAJSUlAJGRkbNeXl6zAQEBGAAAAEgAAAAOAAAAAAAAAAAAAAAA" +
+"AAAAAAAAAAAAAAAGAAAACgAAAA4AAAAOAAAADgAAAAwAAAAKAAAACAAAAAYAAAAEAAAAAgAAAAAA" +
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP///wAAAAACDg4OQJKSkuk+Pj6/AAAAVgAAABAA" +
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP///wAAAABmKysr/1JS" +
+"Uv8eHh7/FhYW1wAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A" +
+"AP///wAAAAAYIyMjgyMjI6sJCQmfCgoKUAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+"AAAAAAAAAAAAAAD///8AE/eHjSzqHm8AAAAASUVORK5CYII=";
+
+var myIcon = new GIcon();
+//myIcon.image = 'icons/image.png';
+myIcon.image = myuri;
+myIcon.shadow = 'icons/shadow.png';
+myIcon.iconSize = new GSize(32,32);
+myIcon.shadowSize = new GSize(48,32);
+myIcon.iconAnchor = new GPoint(0,32);
+myIcon.infoWindowAnchor = new GPoint(16,0);
+myIcon.printImage = 'icons/printImage.gif';
+myIcon.mozPrintImage = 'icons/mozPrintImage.gif';
+myIcon.printShadow = 'icons/printShadow.gif';
+myIcon.transparent = 'icons/transparent.png';
+myIcon.imageMap = [9,0,9,1,9,2,9,3,14,4,16,5,17,6,18,7,19,8,19,9,18,10,18,11,18,12,17,13,18,14,19,15,20,16,22,17,25,18,30,19,29,20,27,21,25,22,22,23,19,24,21,25,25,26,26,27,23,28,6,29,6,30,6,31,1,31,1,30,1,29,3,28,3,27,3,26,3,25,3,24,4,23,4,22,4,21,4,20,4,19,5,18,5,17,5,16,5,15,5,14,6,13,6,12,6,11,6,10,6,9,6,8,7,7,7,6,7,5,7,4,7,3,8,2,8,1,8,0];
+ //<![CDATA[
+ function load() {
+ if (GBrowserIsCompatible()) {
+ var map = new GMap2(document.getElementById("map"));
+ map.setCenter( new GLatLng(0,0),2 );
+ map.enableContinuousZoom();
+ map.disableDragging();
+ var marker = new GMarker(new GLatLng(45, -90));
+ map.addOverlay(marker);
+ var marker2 = new GMarker(new GLatLng(0, 0), {icon:myIcon});
+ map.addOverlay(marker2);
+ }
+ }
+
+ //]]>
+ </script>
+ </head>
+
+ <body style="height:100%" onload="load()" onunload="GUnload()" topmargin="0" leftmargin="0">
+ <div id="map" style="width:100% ; height:100%"></div>
+ </body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Google Maps JavaScript</title>
+ <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAN6d3-kz3XqyJq-W9n7IYzhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxT_28W9HdpKXQF8sGkCU0sQpcudOQ"
+ type="text/javascript"></script>
+ <script src="http://gmaps-utility-library.googlecode.com/svn/trunk/markermanager/release/src/markermanager.js"> </script>
+ <script type="text/javascript">
+
+ var blueIcon = new GIcon();
+ blueIcon.image =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAQK0lEQVR4AQEgEN/vAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANPT0yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs7OzLLKysnQAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo6Oj" +
+ "wWFhYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAm5ub/zw8PF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzQWlJOT/zMAAAoAAAAOAAAuNgAAMTwAABYeAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeXVxShomM/0Rln/t5kcH/h6DR" +
+ "/32c0v9kicX/QG6u/xpTmrcAABgmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiYeL" +
+ "UV50/6O34v+Xrdj/h6LT/3qa0v9sltP/X5Xa/1Wb5v8wjOL/BD1+iwAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAClpKLFNElt/5Cn2P95ls3/bI7L/16Iy/9Rhs//Q4fY/zSO5/8nmPn/H4ju/wQs" +
+ "aWYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjoZ7/LEd5/3KQyv9gg8L/UnzC/0R4xv82eM7/J33b" +
+ "/xqK8P8Pifb/FXjn/xxPpv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqcmZP/Kk+S/1V5vv9Fb7r/" +
+ "N2y8/ypqwv8Xas7/Cnbh/wOE9/8Jfe7/Hm7c/yxKof8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF1cW0SJ" +
+ "i4v/KlWm/zlltP8oXbP/C0+z/wBRvf8AZNP/AHvt/wOD9f8Rd+b/L2LM/yZBkNMAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAI6Ni35faXX/JlWx/xRKqP8APqj/AEu1/wBbyP8Ab+D/AIP2/wl+7/8cbtv/PFi6" +
+ "/wAdRzoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKqpprkxRGf/CD+l/wA7pP8ARa//AFK+/wBk0/8Ae+3/" +
+ "A4P1/xF35v8sYc3/MkuPxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKelofMVNW7/GU6r/xpNnf8b" +
+ "UqH7G12t/x50zv8Pk//9BXzw/xtt2/9FYrr/ACBkkwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmX" +
+ "lf8PLVqtABA4MgAAAAAAAAAAAAAAAAAAACgROIf/OoDN/zJp1f8bQZH/ADGV/wUkUkIAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAWVlZOIyMjf8AAAAAAAAAAAAAAAAAAAAAAAAAAAIrdbMAMJn/ACmH/05qof8ALJb/" +
+ "AD2l/wBDof8FBhUcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Ocn9/f/0AAAAAAAAAAAAAAAAAAAAACRkMEAAvjP8A" +
+ "MZf/ADGY/wApgv8AOqP/AEew/wBVwv8AVbb/BRQ8NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqqqqsWJiYr0AAAAAAAAAAAAA" +
+ "AAAAAAAAAipyqQAxmf8AL4v/AC6J/wA4of8ARa3/AFG8/wBezP8AbN3/AHHd/wNJk6MAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSk" +
+ "7U1NTYEAAAAAAAAAAAAAAAAJFwUKAS2C/wAvjv8AMJf/ADWd/wBCq/8AT7n/AFzJ/wBp2f8Aduf/" +
+ "AIP2/wqC9v8QZMb/EUiYsQAcR0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAk5OT/1ZWVkYAAAAAAAAAAAAAAAADKWl6ADGb/wAwlv8AM5r/AECo/wBNt/8A" +
+ "Wsb/AGbW/wBz5P8AgfP/CH/x/xJ25v8bb93/JmnW/zFgyv8sSaD/I0CQyxo5g5ENLnB4BypekwMm" +
+ "WywAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUsjIyM/4+PjwoAAAAAAAAAAAAAAAANAgAEAi2B/wAy" +
+ "m/8APab/AEq0/wBXw/8AZNP/AHHi/wB/8f8FgfP/EHjo/xlw3v8kaNT/L2DK/zhXvf88Vbz/PFS+" +
+ "/1Zsv/9JYp3LABJEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTk5Nmf39//wAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAYwdsEMTqz/AFbF/wBh0v8Ab+H/AHzv/wKB9P8NeOn/FnDg/yFp1/8qX8z/" +
+ "NVfB/1luxv9LZKr/UWmYqQAAGCIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvr6+j" +
+ "ZGRkywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhUgIU+Mmxxfq+scc8n/Iozs/y2N7/84" +
+ "h+T/PnnM/0BqtP9KaafbWG+ZmQQoUEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAACoqKjfUlJSjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAHKAAAHTgAAB00AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUlJT/Xl5eUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTx6MjIz/j4+PGAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmZmVqA" +
+ "gID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAALW1tZdnZ2fXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrNNYWFibAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJubm/9UVFR2AAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMUEFB" +
+ "Qf8gICBmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAGAAAAPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAz867BuDoBEAAAAASUVORK5CYII=" +
+ "";
+
+ blueIcon.shadow =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAYAAABU1PscAAAYK0lEQVR4AQEgGN/nAP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wAA////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAA////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8AAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAA////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAKAAAACoAAAAqAAAAKgAAACoAAAAqAAAABgAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAD///8A////AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAABUAAAAVAAAAFQAAABUAAAA" +
+ "VAAAAFQAAABUAAAAVAAAAFQAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wAA////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQA" +
+ "AABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8AAP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABU" +
+ "AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/" +
+ "//8A////AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAFQAAABUAAAAVAAAAFIAAABUAAAAVAAA" +
+ "AFIAAABUAAAAVAAAAFQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wAA////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAABAAAAFQAAABUAAAAVAAAAFQAAABUAAAAKgAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP//" +
+ "/wD///8AAP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAACAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAA" +
+ "VAAAAFQAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD///8A" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAVAAAAFQA" +
+ "AABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAAAsAAAAKgAAACoAAAAQAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wAA////AP//" +
+ "/wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAqAAAANAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABU" +
+ "AAAAVAAAAFQAAAAqAAAAKgAAABAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8AAP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAABoA" +
+ "AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACoAAAAqAAAAKgAA" +
+ "ACoAAAAqAAAAKgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AAD///8A////AP///wD///8AAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wAA////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8AAP///wD///8AAAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAD///8AAAAAAAAA" +
+ "AAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wBJdBZJOfZP2gAAAABJRU5ErkJggg==" +
+ "";
+ blueIcon.iconSize = new GSize(32,32);
+ blueIcon.shadowSize = new GSize(48,32);
+ blueIcon.iconAnchor = new GPoint(4,32);
+ blueIcon.infoWindowAnchor = new GPoint(16,0);
+ blueIcon.printImage =
+ "data:image/png;base64,"+
+ "R0lGODlhIAAgAOcAAAQCBARu3AQ+fHx+fDw+PARWtERurAQeRASG9DRGZJSu3ARKlDRuvAR67AQi" +
+ "ZHyWzFRWVCRWtDyG5DxWvDQCBBRKnAQubAwWBBxyzAQ6pJSWlARi1FxunBR65CxizERmnAQujHSS" +
+ "zCSO7FyKzAQCLCQiJCRClNTS1ASC9ARCpJSm3ExinISKjKyqpARKtGRiZBxSnKSinAwODAR25Bxe" +
+ "rAQqVAx67Bx2zFR6vARSvAQCFARezDx6zByK7DRWxBxOnBQ2bAQSPBRmxDRizAQ2nFyW3CROjJSS" +
+ "lLSytAxOrARy3BQ6hExOTARWxAQqhHye1FRedFSa5AQuhBRy5Aw+pJyWlDxmtAQynCSa/ARGtExq" +
+ "pIyKhDRKjAQmVAyS/CxGfCR+3AR+7AQqbFxeXCxetFSGzAwudAQ+pARq3FRuvCRq1AQylDSO5GyO" +
+ "zARGrKyurAROtFxqdKSmpAwuXAx+7GSCxAQGFDyCzBxOrAQWPCxKpBxClARaxBxu3JyalERqtDQy" +
+ "NKS25DR6zGyW1CxezBR25DRq1CxWpCxqxISChERCRFxaXFRSVERivAyK9ExmrISi1ESG3HySxGSK" +
+ "xER6xCxOlFRqnFxuxAwCBERuvBRKrCyO7AyC9Ax25Bw6hDRKbHya1AQydAwaDFR+xBRqzIyOjDxa" +
+ "vARm1GRmZLS2tBxy3ARu5BR67AQulAQCNARCrKyqrBxSpKSipAQqXAQCHByK9BxOpAQSRAxOtARy" +
+ "5IyKjAQmXAR+9AQqdAQ+rAROvAx+9ARazJyanP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMMALAAAAAAgACAA" +
+ "AAj+AIcJHDjwBMGDCBMqRIJEocOHA2W9gEgxoTACFTMKBHSEAgASrnRofDiGxYcQkEBNMgBD5MiD" +
+ "W6AEUpByUJEobAS8JCjnk4oHbUaUicQGSw8xOwXG+NKmDg5KgsD0cFTIVlIAVSrhMMAAkZBOKID1" +
+ "0ZO05CErZHDl2NAARachJpKWihOhgi8XwZSg4NXH1IGkLRJQyZAlx6m2HTxwSTpMDhA8FWLRwOCF" +
+ "byMHjKvMCTIQwBJBhvas6bJzka6Dva440dIqQwo7L0sNICgKxBrVGdw0KZBnJKyJA1ODkELETY4d" +
+ "aJQs0CiHycALUmwTefUrGJoZKDgJqfAX4hEIA8WPXGl1xRccPqdy7e3UR80QPSY8mZm16yCEUqUG" +
+ "YpJy5YyLJunxgoIN7RHiwwQTpLHCLQgdkQhCFiTRxAartNXJFGoYeMkKlriE0BuoJKTDDzTc0MMm" +
+ "EvBghRaW1AARLIxABAAttACg0RFjMOYQE/jpqJAwD/qYUCohCokQLIsYiZAw4Ck5kAyKlOBkZzZO" +
+ "GRAAOw==" +
+ "";
+
+ blueIcon.mozPrintImage =
+ "data:image/png;base64,"+
+ "R0lGODdhIAAgAOcAAAQGBAR25Hx6fAQ+pERCRKy2vER6xARaxJSWlFRedCR+3CxGfFyKzBxerMzO" +
+ "zJyWlDxmtASG9AROtLy6tBx2zGR2lARq3KympAQqhFxqdExmrAR+7ISKjBxOnCxqrAQujARGrFSC" +
+ "rJSm3CSO7GyKrMTGxDRizDxalHyWzERenNza3ARWtBRqzKSutHyOrCxOlKS25FR2rARi1JyenDRu" +
+ "vLzCzAx+7Bxu3AQ2nAw+pLSytDR6zByK7AxOrGyGrARy3BxWpGyOzERmpFR+xAx25ARCpFSa5Cxe" +
+ "tNTW1Ly+xBR25BQ2bExqpJSSlAQynBRKrCSa/DRWxHye1KyurFx6rERqtBxyzLS2tDyCzISChDRG" +
+ "ZARezIyatBxClNTS1JyalARSvLy+vARu3KyqtFxuxASC9IyKjBxOrAQylARKtESG3DSO5MzKzExi" +
+ "pOTi5HySxFR6vBRmxKSinAyC9BSS/HSCrGyW1CxezBR65FxupDxWvERuvAR67Hx+fAQ+rARazFRm" +
+ "hCxKpGx+rFSGzBRy5FRuvGSCxCxWpBQ6hDyG5DRq1CxqxJSu3CRWtExmlERivISStCRq1FyW3AyK" +
+ "9HSSzISi1GSKxHSKpMTCxCyO7ARWxDx6zBxy3KyqrHya1ERilAQ6pAx67ERurDRKbFxynAQuhNze" +
+ "3FR6rARm1IyetIyOjCxizDxavMzO1AROvLy6vAR+9BxOpAQulARGtMTGzKSuvAx+9LSyvByK9AxO" +
+ "tARy5ARCrKyutLS2vJyanARu5KSipBR67AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAIAAgAAAI/gDduDEl" +
+ "kODAgwgNKizIcODCgyrYJGz48OHEgVeAHSRYkaJHjgJnaBTIEORFkwYLemmCBAkvXiVSekQ4U+AV" +
+ "DkLeVJJiaU+IMCk7WuR4JQEMRpU82ZFkJBMJUzJJSjVZUMcoESiCMBikZg0UHlwmggxKc8YCrXAM" +
+ "7NgxaQ6eWDSlkkTpBsmXF3BEQVjEgkgEG5ECzd1IVWYYDocgHMkFRgafMsFWpRBb0uOVDI2eDJBw" +
+ "QFcZWDdYFaA5lPQELUVAgWjMJ4KSVXnGfmwo8MKSJx2ANKBAhw+hR6QGXxROEAGgXhzDINqhqMuH" +
+ "WnEXWizBYfAnJxiYyBpQpMTGmgrD7vRBiOSDE+w4Zq1YgXymRfFzHTkp9QHH6i2/foToSLwTgo30" +
+ "oYHDLq5sYUEAZZQRxyktUKYQAlcUdAkaaDjhB2eoeAaLEoREskogQvjgQgU1NFSCKkGV4sQAaWgi" +
+ "gy6wlEEEJ5HcoceNhQjiwEMl9DGWKSf04OIvG8jY4R1RFNIGJEBNNRB8cplSAgkeWMFDJolsAgEV" +
+ "qUAnHUJTICDbd2HwcksrTkYnEIRq0vXdSW44oAoSg8nkJpwElZAFacQ5SFuePvIpV2VxJXSFKnV+" +
+ "RxWfD80wQ5uD2hnlQDMQ0ISiiX5JqEBsAFCobIu6GRAAOw==" +
+ "";
+ blueIcon.printShadow =
+ "data:image/png;base64,"+
+ "R0lGODlhMAAgAIAAAISChP///yH5BAEAAAEALAAAAAAwACAAAAI6jI+py+0Po5y02ouz3rz7D4bi" +
+ "SJbmiabqyrYd4CLwHNApjddobu96foIpeisey0g0IXWxkLD5bEqbBQA7" +
+ "";
+ blueIcon.transparent =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAQK0lEQVR4AQEgEN/vAP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////ANPT0wL///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8AAP///wD///8A////AP///wD///8A////AP///wD///8As7OzArKysgL///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AP///wD///8Ao6Oj" +
+ "AmFhYQL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8Am5ubAjw8PAL///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD/" +
+ "//8A////AP///wD///8A////AP///wAzMzQClJOTAjMAAAIAAAACAAAuAgAAMQIAABYC////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8AAP///wD///8A////AP///wD///8A////AP///wBeXVwChomMAkRlnwJ5kcECh6DR" +
+ "An2c0gJkicUCQG6uAhpTmgIAABgC////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AP///wCKiYcC" +
+ "UV50AqO34gKXrdgCh6LTAnqa0gJsltMCX5XaAlWb5gIwjOICBD1+Av///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD/" +
+ "//8A////AP///wClpKICNEltApCn2AJ5ls0CbI7LAl6IywJRhs8CQ4fYAjSO5wInmPkCH4juAgQs" +
+ "aQL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP//" +
+ "/wD///8A////AP///wD///8A////AP///wCjoZ4CLEd5AnKQygJgg8ICUnzCAkR4xgI2eM4CJ33b" +
+ "AhqK8AIPifYCFXjnAhxPpgL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8AAP///wD///8A////AP///wD///8A////AAAAAAKcmZMCKk+SAlV5vgJFb7oC" +
+ "N2y8AipqwgIXas4CCnbhAgOE9wIJfe4CHm7cAixKoQL///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AF1cWwKJ" +
+ "i4sCKlWmAjlltAIoXbMCC0+zAgBRvQIAZNMCAHvtAgOD9QIRd+YCL2LMAiZBkAL///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP//" +
+ "/wD///8A////AI6NiwJfaXUCJlWxAhRKqAIAPqgCAEu1AgBbyAIAb+ACAIP2Agl+7wIcbtsCPFi6" +
+ "AgAdRwL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "AP///wD///8A////AP///wD///8A////AKqppgIxRGcCCD+lAgA7pAIARa8CAFK+AgBk0wIAe+0C" +
+ "A4P1AhF35gIsYc0CMkuPAv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AKeloQIVNW4CGU6rAhpNnQIb" +
+ "UqECG12tAh50zgIPk/8CBXzwAhtt2wJFYroCACBkAv///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8A////AJmX" +
+ "lQIPLVoCABA4Av///wD///8A////AAAAAAIROIcCOoDNAjJp1QIbQZECADGVAgUkUgL///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////" +
+ "AP///wD///8AWVlZAoyMjQL///8A////AP///wD///8A////AAIrdQIAMJkCACmHAk5qoQIALJYC" +
+ "AD2lAgBDoQIFBhUC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8AAP///wD///8A////AP///wD///8Ajo6OAn9/fwL///8A////AP///wD///8ACRkMAgAvjAIA" +
+ "MZcCADGYAgApggIAOqMCAEewAgBVwgIAVbYCBRQ8Av///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8AqqqqAmJiYgL///8A////AP//" +
+ "/wD///8AAipyAgAxmQIAL4sCAC6JAgA4oQIARa0CAFG8AgBezAIAbN0CAHHdAgNJkwL///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AP///wD///8ApKSk" +
+ "Ak1NTQL///8A////AP///wAJFwUCAS2CAgAvjgIAMJcCADWdAgBCqwIAT7kCAFzJAgBp2QIAducC" +
+ "AIP2AgqC9gIQZMYCEUiYAgAcRwL///8A////AP///wD///8A////AP///wD///8AAP///wD///8A" +
+ "////AP///wD///8Ak5OTAlZWVgL///8A////AP///wADKWkCADGbAgAwlgIAM5oCAECoAgBNtwIA" +
+ "WsYCAGbWAgBz5AIAgfMCCH/xAhJ25gIbb90CJmnWAjFgygIsSaACI0CQAho5gwINLnACBypeAgMm" +
+ "WwL///8AAP///wD///8A////AP///wBVVVUCjIyMAo+PjwL///8A////AP///wANAgACAi2BAgAy" +
+ "mwIAPaYCAEq0AgBXwwIAZNMCAHHiAgB/8QIFgfMCEHjoAhlw3gIkaNQCL2DKAjhXvQI8VbwCPFS+" +
+ "AlZsvwJJYp0CABJEAv///wD///8AAP///wD///8A////AP///wCTk5MCf39/Av///wD///8A////" +
+ "AP///wD///8A////AAYwdgIMTqwCAFbFAgBh0gIAb+ECAHzvAgKB9AINeOkCFnDgAiFp1wIqX8wC" +
+ "NVfBAlluxgJLZKoCUWmYAgAAGAL///8A////AP///wD///8AAP///wD///8A////AP///wCvr68C" +
+ "ZGRkAv///wD///8A////AP///wD///8A////AP///wAAAhUCIU+MAhxfqwIcc8kCIozsAi2N7wI4" +
+ "h+QCPnnMAkBqtAJKaacCWG+ZAgQoUAL///8A////AP///wD///8A////AP///wD///8AAP///wD/" +
+ "//8A////AP///wCoqKgCUlJSAv///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8AAAAHAgAAHQIAAB0CAAAAAv///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8AAP///wD///8A////AP///wCUlJQCXl5eAv///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8AAP///wD///8A////AE9PTwKMjIwCj4+PAv///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AJmZmQKA" +
+ "gIAC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP//" +
+ "/wD///8A////ALW1tQJnZ2cC////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8AAP///wD///8A////AKysrAJYWFgC////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8AAP///wD///8A////AJubmwJUVFQC////AP///wD/" +
+ "//8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//" +
+ "/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAP///wD///8ADAwMAkFB" +
+ "QQIgICAC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////" +
+ "AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "AP///wD///8AAAAAAgAAAAL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A" +
+ "////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD/" +
+ "//8A////AP///wD///8AVS7w8bXTfrgAAAAASUVORK5CYII=" +
+ "";
+ blueIcon.imageMap = [9,0,9,1,9,2,9,3,13,4,16,5,17,6,18,7,18,8,18,9,18,10,18,11,17,12,17,13,18,14,19,15,20,16,21,17,24,18,30,19,29,20,27,21,24,22,20,23,5,24,5,25,4,26,4,27,4,28,4,29,4,30,3,31,2,31,2,30,3,29,3,28,3,27,3,26,3,25,4,24,4,23,4,22,4,21,4,20,5,19,5,18,5,17,5,16,5,15,6,14,6,13,6,12,6,11,6,10,6,9,7,8,7,7,7,6,7,5,7,4,8,3,8,2,8,1,9,0];
+
+ var redIcon = new GIcon(blueIcon);
+ redIcon.image =
+ "data:image/png;base64,"+
+ "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAQK0lEQVR4AQEgEN/vAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/PzyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsbGxLrCwsGwAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo6Oj" +
+ "t2JiYmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAm5ub/0FBQV4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFRUUck5OT/z5cXRgAAAAWFAAAOBYAADwJAAAiAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeXl5Uh4aI/5E5Ofe+XV3/2F9f" +
+ "/9pTU//HQUH/oysr/4AYGLMWAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFhYWL" +
+ "ZFlb/+5xcf/pY2P/51JS/+VERP/kOTn/4zIy/+c0NP/MLCz/ZA4OiwAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAChoaHBXjM0/+5VVf/lPz//4y8v/+AkJP/cHx//2x4e/98gIP/hJib/0Rwc/08J" +
+ "CWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfoKD7ax8j/+UuLv/cICD/0Rsb/8caGv/DGhr/xhoa" +
+ "/9McHP/NGxv/uRgY/4EREfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKxCXmpr/iBAT/8oaGv+7GRn/" +
+ "sRgY/6wWFv+nFhb/sxgY/8QaGv+9GRn/rxcX/4AREf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5eXkiG" +
+ "io7/lRAP/6YWFv+XFBT/fhAQ/34REf+WFBT/thgY/8EZGf+1GBj/oxUV/3AODs0AAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAImJiX5qYWP/kBER/3cPD/9kDQ3/dQ8P/4oSEv+lFhb/wRoa/7wYGP+tFxf/mhQU" +
+ "/zcGBj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpLdPNTn/aQ0N/14MDP9rDg7/fRAQ/5cUFP+2GBj/" +
+ "wRkZ/7UYGP+iFRX/fxERxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGjo+1RFRX/fhER/3oQEP+C" +
+ "ERH1jxYW/ashIf/NJSX/vBcX/64XF/+jGxv/OQYGlwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJWY" +
+ "l/9OCQqpHQMDOAAAAAAAAAAAAAAAAA8AADRaExP/sTAw/6oXF/9nFBT/UAoK/zwHB0YAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAXFxcPIyMjP////8CAAAAAAAAAAAAAAAAAAAAAEMICK9PCgr/RwcH/5UuLv9NCAj/" +
+ "XwwM/2YNDf8sBQUkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIyMcn9/f/EAAAAAAAAAAAAAAAAAAAAALgUFGEsJCf9O" +
+ "Cgr/TwoK/0cICP9bCwv/bg4O/4AREf+AERH/NwcHPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKioq2NjY7cAAAAAAAAAAAAA" +
+ "AAAAAAAAQwgIpU8KCv9LCgr/SwkJ/1kMDP9qDg7/fRAQ/48TE/+hFRX/pxYW/3AODp8AAAAKAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo6Oj" +
+ "409PT34AAAAAAAAAAAAAAAAvBAQSRwkJ/0wKCv9PCQn/VQoK/2cNDf95Dw//ixIS/50VFf+vFxf/" +
+ "vxkZ/8AZGf+bFBT/cw8PrTUGBkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAlJSU/1xcXEgAAAAAAAAAAAAAAAA/Bwd0UAoK/04JCf9TCgr/ZAwM/3YQEP+I" +
+ "ERH/mhQU/6wXF/++GRn/vhgY/7YYGP+tFxf/qRYW/6EVFf9+EBD/bw4Ox2INDZFNBQV2QAgIiToH" +
+ "ByoAAAAAAAAAAAAAAAAAAAAAAAAAAABZWVkwjIyM/5iYmBAAAAAAAAAAAAAAAAArBAQMSAkJ9VEK" +
+ "Cv9hDQ3/cg4O/4UREf+XFBT/qRYW/7sZGf+/GRn/txgY/7AXF/+pFhb/oRUV/5oUFP+WExP/lxER" +
+ "/6spKf+TKyu/OQAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZFmf39//QAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAGQICCE0KCrt4Dw//ghER/5ITE/+mFRX/uBgY/8AZGf+4GBj/sRcX/6kWFv+gExP/" +
+ "mxAQ/64qKv+ZKSn/kjU1pxYAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtra2f" +
+ "ZWVlwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAwMofhISmY8aGuOnIiL/xysr/8wvL//I" +
+ "Li7/si4u/54rK/+aLy/XlT09l0QMDEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAACnp6fVVFRUiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAACAgAAKg4AADoKAAA2AAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUlJT/Y2NjVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVSSMjIz/lJSUHAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJeXl1p/" +
+ "f3//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAALOzs5NoaGjPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKurq8lZWVmXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiYmP9XV1d2AAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OTkJC" +
+ "Qv8kJCRkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAHAAAAOsUFBQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
+ "AAAAAAAAAAAAAAAAAAAAakHkz/3IBgAAAAAASUVORK5CYII=" +
+ "";
+
+
+ function load() {
+ if (GBrowserIsCompatible()) {
+ var map = new GMap2(document.getElementById("map"));
+ map.setCenter( new GLatLng(0,0),2 );
+ map.enableContinuousZoom();
+ map.disableDragging();
+ var marker = new GMarker(new GLatLng(45, -90));
+ map.addOverlay(marker);
+ var mgr = new MarkerManager(map);
+ var marker2 = new GMarker(new GLatLng(0, 0), {icon:redIcon});
+ map.addOverlay(marker2);
+ var pn = map.getPane(G_MAP_MARKER_PANE);
+ //var div = document.getElementById(pn);
+ pn.style.KhtmlUserSelect='none';
+ pn.style.KhtmlUserDrag='none';
+ }
+ }
+
+
+ </script>
+ </head>
+
+ <body style="height:100%; -khtml-user-select:none;" onload="load()" onunload="GUnload()" topmargin="0" leftmargin="0">
+ <div id="map" style="width:100% ; height:100%"></div>
+ </body>
+</html>
--- /dev/null
+<ui version="4.0" >
+ <class>TrackWidget</class>
+ <widget class="QWidget" name="TrackWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>483</width>
+ <height>224</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Track Filter Options</string>
+ </property>
+ <property name="whatsThis" >
+ <string>This filter performs various operations on track data. </string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2" >
+ <item row="0" column="0" >
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="5" >
+ <widget class="QLabel" name="label" >
+ <property name="font" >
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="whatsThis" >
+ <string/>
+ </property>
+ <property name="text" >
+ <string>Track Filters</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QCheckBox" name="titleCheck" >
+ <property name="toolTip" >
+ <string>Basic title for track</string>
+ </property>
+ <property name="whatsThis" >
+ <string>Basic title for new track(s).
+This option specifies a title for tracks generated by the track filter. By default, the title of the new track is composed of the start time of the track appended to this value.
+If this value contains a percent (%) character, it is treated as a format string for the POSIX strftime function, allowing custom time-based track names. </string>
+ </property>
+ <property name="text" >
+ <string>Title</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="4" >
+ <widget class="QLineEdit" name="titleText" >
+ <property name="toolTip" >
+ <string>the title of the new track is composed of the start time of the track appended to this value. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QCheckBox" name="moveCheck" >
+ <property name="toolTip" >
+ <string>Correct track point timestamps by specified amount</string>
+ </property>
+ <property name="whatsThis" >
+ <string>Correct trackpoint timestamps by a delta.
+This option changes the time of all trackpoints. This might be useful if your track must be moved by one or more hours because of an incorrect time zone. </string>
+ </property>
+ <property name="text" >
+ <string>Move</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" colspan="4" >
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QSpinBox" name="daysSpin" />
+ </item>
+ <item>
+ <widget class="QLabel" name="daysLabel" >
+ <property name="text" >
+ <string>days</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="hoursSpin" />
+ </item>
+ <item>
+ <widget class="QLabel" name="hoursLabel" >
+ <property name="text" >
+ <string>hours</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="minsSpin" />
+ </item>
+ <item>
+ <widget class="QLabel" name="minsLabel" >
+ <property name="text" >
+ <string>mins</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="secsSpin" />
+ </item>
+ <item>
+ <widget class="QLabel" name="secsLabel" >
+ <property name="text" >
+ <string>secs</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QCheckBox" name="startCheck" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>Use track pts. after this time. </string>
+ </property>
+ <property name="whatsThis" >
+ <string>Use only track points after this timestamp.
+
+This option is used along with the stop to discard trackpoints that were recorded outside of a specific period of time. This option specifies the beginning of the time period. </string>
+ </property>
+ <property name="text" >
+ <string>Start</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" colspan="2" >
+ <widget class="QDateTimeEdit" name="startEdit" >
+ <property name="toolTip" >
+ <string>Use track pts. after this time. </string>
+ </property>
+ </widget>
+ </item>
+ <item rowspan="2" row="3" column="3" >
+ <widget class="QCheckBox" name="TZCheck" >
+ <property name="toolTip" >
+ <string>If checked, time specified here is based on this computer's current time zone. </string>
+ </property>
+ <property name="whatsThis" >
+ <string>If checked, the times specified here are based on the local computer's time zone. Otherwise it is UTC.</string>
+ </property>
+ <property name="text" >
+ <string>Local Time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" >
+ <widget class="QCheckBox" name="stopCheck" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>Use track pts before this time. </string>
+ </property>
+ <property name="whatsThis" >
+ <string> Use only track points before this timestamp.
+
+This option is used in conjunction with the start option to discard all trackpoints outside of a given period of time. This option defines the end of the time period. </string>
+ </property>
+ <property name="text" >
+ <string>Stop</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1" colspan="2" >
+ <widget class="QDateTimeEdit" name="stopEdit" >
+ <property name="toolTip" >
+ <string>Use track pts before this time. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" >
+ <widget class="QCheckBox" name="packCheck" >
+ <property name="toolTip" >
+ <string>Pack all tracks into one. </string>
+ </property>
+ <property name="whatsThis" >
+ <string>Pack all tracks into one.
+
+This option causes all tracks to be appended to one another to form a single track. This option does not work if any two tracks overlap in time; in that case, consider using the merge option.
+
+This option is most useful for rejoining tracks that might have been interrupted by an equipment malfunction or an overnight stop. </string>
+ </property>
+ <property name="text" >
+ <string>Pack</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1" >
+ <widget class="QCheckBox" name="mergeCheck" >
+ <property name="toolTip" >
+ <string>Merge multiple tracks for the same way.</string>
+ </property>
+ <property name="whatsThis" >
+ <string> Merge multiple tracks for the same way.
+
+This option puts all track points from all tracks into a single track and sorts them by time stamp. Points with identical time stamps will be dropped. </string>
+ </property>
+ <property name="text" >
+ <string>Merge</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2" >
+ <widget class="QCheckBox" name="splitCheck" >
+ <property name="toolTip" >
+ <string>Split tracks. </string>
+ </property>
+ <property name="whatsThis" >
+ <string>Split by date or time interval
+
+The input track will be split into several tracks depending on date of track points. If there is more than one track, use the pack option before before using this.
+
+If the input has multiple tracks, pack them together before splitting them back apart per day.
+</string>
+ </property>
+ <property name="text" >
+ <string>Split</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2" >
+ <widget class="QWidget" native="1" name="widget_5" >
+ <property name="toolTip" >
+ <string>Synthesize GPS Fixes. </string>
+ </property>
+ <property name="whatsThis" >
+ <string>Synthesize GPS fixes (PPS, DGPS, 3D, 2D, NONE).
+
+This option sets the GPS fix status for all trackpoints to the specified value. Valid values for this option are PPS, DGPS, 3D, 2D, or NONE.
+
+This option is most useful when converting from a format that doesn't contain GPS fix status to one that requires it. </string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="GPSFixesCheck" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>GPS Fixes</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="GPSFixesCombo" >
+ <item>
+ <property name="text" >
+ <string>none</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>pps</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>dgps</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3d</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2d</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ <zorder>GPSFixesCombo</zorder>
+ <zorder>GPSFixesCheck</zorder>
+ </widget>
+ </item>
+ <item row="6" column="3" >
+ <widget class="QCheckBox" name="speedCheck" >
+ <property name="toolTip" >
+ <string>Synthesize speed. </string>
+ </property>
+ <property name="whatsThis" >
+ <string>Synthesize speed.
+
+This option computes a value for the GPS speed at each trackpoint. This is most useful with trackpoints from formats that don't support speed information or for trackoints synthesized by the interpolate filter. The speed at each trackpoint is the average speed from the previous trackpoint (distance divided by time). The first trackpoint in each track is assigned a speed of "unknown." </string>
+ </property>
+ <property name="text" >
+ <string>Speed</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="4" >
+ <widget class="QCheckBox" name="courseCheck" >
+ <property name="toolTip" >
+ <string>Synthesize course.</string>
+ </property>
+ <property name="whatsThis" >
+ <string>Synthesize course.
+
+This option computes (or recomputes) a value for the GPS heading at each trackpoint. This is most useful with trackpoints from formats that don't support heading information or for trackpoints synthesized by the interpolate filter. The heading at each trackpoint is simply the course from the previous trackpoint in the track. The first trackpoint in each track is arbitrarily assigned a heading of 0 degrees. </string>
+ </property>
+ <property name="text" >
+ <string>Course</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1" >
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>83</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>25</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+<ui version="4.0" >
+ <class>WayPtsWidget</class>
+ <widget class="QWidget" name="WayPtsWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>523</width>
+ <height>171</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2" >
+ <item row="0" column="0" >
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="5" >
+ <widget class="QLabel" name="label" >
+ <property name="font" >
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text" >
+ <string>Waypoints Filters</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QCheckBox" name="duplicatesCheck" >
+ <property name="toolTip" >
+ <string>Remove duplicates</string>
+ </property>
+ <property name="whatsThis" >
+ <string>The duplicate filter is designed to remove duplicate points based on their short name (traditionally a waypoint's name on the GPS receiver), and/or their location (to a precision of 6 decimals). This filter supports two options that specify how duplicates will be recognized, shortname and location. Generally, at least one of these options is required. </string>
+ </property>
+ <property name="text" >
+ <string>Duplicates</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QCheckBox" name="shortNamesCheck" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>Suppress duplicate waypoints based on name.</string>
+ </property>
+ <property name="whatsThis" >
+ <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoints based on name. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option is the one most often used with the duplicate filter. This option instructs the duplicate filter to remove any waypoints that share a short name with a waypoint that has come before. This option might be used to remove duplicates if you are merging two datasets that were each created in part from a common ancestor dataset. </p></body></html></string>
+ </property>
+ <property name="text" >
+ <string>Short Names</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QCheckBox" name="locationsCheck" >
+ <property name="toolTip" >
+ <string>Suppress duplicate waypoint based on coords. </string>
+ </property>
+ <property name="whatsThis" >
+ <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Suppress duplicate waypoint based on coords. </p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option causes the duplicate filter to remove any additional waypoint that has the same coordinates (to six decimal degrees) as a waypoint that came before. This option may be used to remove duplicate waypoints if the names are not expected to be the same. It also might be used along with the <span style=" font-family:'Courier New,courier';">shortname</span> option to remove duplicate waypoints if the names of several unrelated groups of waypoints might be the same. </p></body></html></string>
+ </property>
+ <property name="text" >
+ <string>Locations</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QCheckBox" name="positionCheck" >
+ <property name="toolTip" >
+ <string>Remove points based on proximity</string>
+ </property>
+ <property name="whatsThis" >
+ <string>Maximum positional distance.
+
+This option specifies the minimum allowable distance between two points. If two points are closer than this distance, only one of them is kept. </string>
+ </property>
+ <property name="text" >
+ <string>Position</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLineEdit" name="positionText" >
+ <property name="maximumSize" >
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>Maximum positional distance.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" >
+ <widget class="QComboBox" name="positionUnitCombo" >
+ <item>
+ <property name="text" >
+ <string>Feet</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Meters</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QCheckBox" name="radiusCheck" >
+ <property name="toolTip" >
+ <string>Include points only within radius</string>
+ </property>
+ <property name="whatsThis" >
+ <string>This filter includes or excludes waypoints based on their proximity to a central point. All waypoints more than the specified distance from the specified point will be removed from the dataset.
+
+By default, all remaining points are sorted so that points closer to the center appear earlier in the output file. </string>
+ </property>
+ <property name="text" >
+ <string>Radius</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" >
+ <widget class="QLineEdit" name="radiusText" >
+ <property name="maximumSize" >
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>Maximum distance from center. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2" >
+ <widget class="QComboBox" name="radiusUnitCombo" >
+ <item>
+ <property name="text" >
+ <string>Miles</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>km</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="3" >
+ <widget class="QLabel" name="latLabel" >
+ <property name="text" >
+ <string>Lat.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4" >
+ <widget class="QLineEdit" name="latText" >
+ <property name="minimumSize" >
+ <size>
+ <width>110</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>Latitude of the central point in decimal degrees. South latitudes should be expressed as a negative number.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3" >
+ <widget class="QLabel" name="longLabel" >
+ <property name="text" >
+ <string>Long.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="4" >
+ <widget class="QLineEdit" name="longText" >
+ <property name="minimumSize" >
+ <size>
+ <width>110</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>Longitude of the central point in decimal degrees. West longitudes should be expressed as a negative number.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" >
+ <widget class="QCheckBox" name="sortCheck" >
+ <property name="toolTip" >
+ <string>This filter sorts waypoints into alphabetical order</string>
+ </property>
+ <property name="whatsThis" >
+ <string>This filter sorts waypoints into alphabetical order</string>
+ </property>
+ <property name="text" >
+ <string>Sort</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1" >
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>80</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>